Python; 如何正确调用另一个python脚本作为子进程

最大的地方

我知道已经有人问过一个非常相似的问题,但由于那里发布的解决方案都没有解决我的问题,我尝试使其可复制:

所以我调用这个脚本来合并一些 shapefile(一个文件夹中的所有文件),如下所示:

shpfiles = 'shapefile_a.shp shapefile_b.shp'
subprocess.call(['python', 'shapemerger.py', '%s' % shpfiles])

我只从脚本中获取使用说明,所以我无法确定出了什么问题。如果我直接在终端中调用脚本,它就可以工作。任何帮助表示赞赏。

VPfB

每次启动程序时,它都会收到一个调用它的参数列表。这通常称为 argv(v代表向量,即一维数组)。程序解析这个列表,根据它自己的调用语法提取选项、参数、文件名等。

在命令行上工作时,shell 负责解析输入行、启动一个或多个新程序并将它们的参数列表传递给它们。

当一个程序被另一个程序调用时,调用者负责提供正确的参数。它可以将这项工作委托给 shell。它的价格非常高。存在大量开销并可能存在安全风险!尽可能避免这种方法。

最后回答问题本身:

shpfiles = 'shapefile_a.shp shapefile_b.shp'
subprocess.call(['python', 'shapemerger.py', '%s' % shpfiles])

这将调用pythonshapemerger.py一个参数运行脚本shapefile_a.shp shapefile_b.shp该脚本需要文件名并接收这个名称。文件“shapefile_a.shp shapefile_b.shp”不存在,但脚本可能会在尝试访问该文件之前停止,因为它需要处理 2 个或更多文件。

正确的方法是将每个文件名作为一个参数传递。假设shpfiles是一个空格分隔的列表:

subprocess.call(['python', 'shapemerger.py'] + shpfiles.split())

将生成一个包含 4 个项目的列表。如果文件名中有空格,则此方法将失败,了解这一点很重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用子进程调用/ popen从另一个python脚本执行python脚本

来自分类Dev

从另一个python脚本运行python脚本,但不作为子进程运行

来自分类Dev

如何从具有完全I / O子进程的另一个脚本中执行Python脚本?

来自分类Dev

使用python multiprocessing子进程如何终止另一个子进程?

来自分类Dev

从另一个脚本调用python脚本

来自分类Dev

一个flask-python 脚本如何调用另一个flask-python 脚本

来自分类Dev

Python:如何从另一个进程读取变量?

来自分类Dev

我如何正确使用函数调用。我要做2批python脚本。一个在输入中,另一个在输出中

来自分类Dev

通过子过程从另一个python脚本调用python脚本时导入错误的包

来自分类Dev

如果使用子进程,Python会两次打开文件.Popen用于运行另一个脚本

来自分类Dev

从另一个脚本内部调用一个python脚本

来自分类Dev

从另一个python脚本调用python脚本时,Python日志记录挂起

来自分类Dev

python:子进程调用一个脚本,该脚本运行一个挂起的后台进程

来自分类Dev

Python杀死一个子进程(启动另一个进程)并再次启动

来自分类Dev

调用Python脚本作为子进程

来自分类Dev

Python - 如何将一个脚本的值赋予另一个脚本?

来自分类Dev

如何使用子进程使用python将输入发送到另一个程序

来自分类Dev

如何从另一个Python文件调用一个Python文件?

来自分类Dev

python将另一个脚本中的变量调用到当前脚本中

来自分类Dev

将python子进程用作另一个用户时的错误环境

来自分类Dev

Python-通知另一个线程在子进程上被阻塞

来自分类Dev

如何将包含列表的变量作为参数传递给另一个python脚本

来自分类Dev

在我的python脚本中调用另一个python函数时遇到importerror

来自分类Dev

一个python进程为另一个python进程提供信息

来自分类Dev

如何从另一个python脚本运行和停止python脚本?

来自分类Dev

如何从另一个类正确访问一个类的 StringVar() - Python - tkinter

来自分类Dev

Python 函数将类型作为参数返回到另一个脚本

来自分类Dev

从另一个脚本控制python脚本

来自分类Dev

Python如何从另一个方法内部调用一个方法

Related 相关文章

  1. 1

    使用子进程调用/ popen从另一个python脚本执行python脚本

  2. 2

    从另一个python脚本运行python脚本,但不作为子进程运行

  3. 3

    如何从具有完全I / O子进程的另一个脚本中执行Python脚本?

  4. 4

    使用python multiprocessing子进程如何终止另一个子进程?

  5. 5

    从另一个脚本调用python脚本

  6. 6

    一个flask-python 脚本如何调用另一个flask-python 脚本

  7. 7

    Python:如何从另一个进程读取变量?

  8. 8

    我如何正确使用函数调用。我要做2批python脚本。一个在输入中,另一个在输出中

  9. 9

    通过子过程从另一个python脚本调用python脚本时导入错误的包

  10. 10

    如果使用子进程,Python会两次打开文件.Popen用于运行另一个脚本

  11. 11

    从另一个脚本内部调用一个python脚本

  12. 12

    从另一个python脚本调用python脚本时,Python日志记录挂起

  13. 13

    python:子进程调用一个脚本,该脚本运行一个挂起的后台进程

  14. 14

    Python杀死一个子进程(启动另一个进程)并再次启动

  15. 15

    调用Python脚本作为子进程

  16. 16

    Python - 如何将一个脚本的值赋予另一个脚本?

  17. 17

    如何使用子进程使用python将输入发送到另一个程序

  18. 18

    如何从另一个Python文件调用一个Python文件?

  19. 19

    python将另一个脚本中的变量调用到当前脚本中

  20. 20

    将python子进程用作另一个用户时的错误环境

  21. 21

    Python-通知另一个线程在子进程上被阻塞

  22. 22

    如何将包含列表的变量作为参数传递给另一个python脚本

  23. 23

    在我的python脚本中调用另一个python函数时遇到importerror

  24. 24

    一个python进程为另一个python进程提供信息

  25. 25

    如何从另一个python脚本运行和停止python脚本?

  26. 26

    如何从另一个类正确访问一个类的 StringVar() - Python - tkinter

  27. 27

    Python 函数将类型作为参数返回到另一个脚本

  28. 28

    从另一个脚本控制python脚本

  29. 29

    Python如何从另一个方法内部调用一个方法

热门标签

归档