[英]command line args in subprocess.call while executing a python script
[英]How to call a python script with command line args?
我有一个脚本client.py,它直接以脚本形式读取命令行args(未包装在main()之类的函数中),如下所示:
opts, args = getopt.getopt(sys.argv[1:], "l:r:a:j:b:f:n:u:")
并打印一堆东西。
我需要从我的代码中调用此脚本(如果需要的话,请在Google App Engine上)。 似乎在打电话
import client
将client.py作为脚本运行,但是如何指定参数?
除非必须这样做,否则不应该这样做:如果您有两个Python脚本,它们可以在Python中通信,而不是通过命令行解析器进行通信。 用if __name__ == "__main__"
检查重写client.py
,然后直接从脚本中调用其main函数。
如果您没有这样做的选择(并且尽可能避免这种情况),则可以设置sys.argv
; 我不确定GAE是否允许您这样做。 您可能还可以使用subprocess.Popen
。
你不能 使用subprocess
或os.exec*()
或者修改其他脚本,以使用解析这些参数,然后将其传递到主哨main()
函数,然后调用main()
自己使用适当的参数。
另外, import client
。
Google AppEngine使用经过重大修改的Python版本,并禁用了许多系统和子进程库以及大多数C python模块。 要调用该脚本,您需要导入一个入口点并进行调用。 我相信约定是调用您的入口点main并调用它,并传递可能需要的所有args。 通常,这是一个好习惯。 例如在调用应用程序中:
from client import main
main()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.