如何使用命令行参数调用python脚本?

如何使用命令行参数调用python脚本?,python,Python,我有一个脚本client.py,它将命令行args直接作为脚本读取(没有封装在main()之类的函数中),如下所示: opts, args = getopt.getopt(sys.argv[1:], "l:r:a:j:b:f:n:u:") 然后打印一堆东西 我需要从我的代码中调用这个脚本(在谷歌应用程序引擎上,如果有必要的话)。看来 import client 以脚本形式运行client.py,但如何指定参数?您不能。使用subprocess或os.exec*(),或修改其他脚本以使用主哨兵

我有一个脚本client.py,它将命令行args直接作为脚本读取(没有封装在main()之类的函数中),如下所示:

opts, args = getopt.getopt(sys.argv[1:], "l:r:a:j:b:f:n:u:")
然后打印一堆东西

我需要从我的代码中调用这个脚本(在谷歌应用程序引擎上,如果有必要的话)。看来

import client

以脚本形式运行client.py,但如何指定参数?

您不能。使用
subprocess
os.exec*()
,或修改其他脚本以使用主哨兵解析参数,然后将其传递给
main()
函数,然后使用适当的参数自己调用
main()


另外,
导入客户端

您不能。使用
subprocess
os.exec*()
,或修改其他脚本以使用主哨兵解析参数,然后将其传递给
main()
函数,然后使用适当的参数自己调用
main()


另外,
import client

您不应该这样做,除非您必须这样做:如果您有两个Python脚本,它们可以用Python而不是通过命令行解析器进行通信。用
重写
client.py
如果uuuu name\uuuuu==“uuuuuu main\uuuuu”
检查,然后直接从脚本调用其主函数


如果您没有这样做的选项(如果可能的话,您应该避免这种情况),那么您可以设置
sys.argv
;我不确定GAE是否允许你这么做。您还可以使用
subprocess.Popen

除非必须这样做,否则不应该这样做:如果您有两个Python脚本,它们可以用Python而不是通过命令行解析器进行通信。用
重写
client.py
如果uuuu name\uuuuu==“uuuuuu main\uuuuu”
检查,然后直接从脚本调用其主函数

如果您没有这样做的选项(如果可能的话,您应该避免这种情况),那么您可以设置
sys.argv
;我不确定GAE是否允许你这么做。您还可以使用
子流程。Popen

Google AppEngine使用并禁用了许多系统和子流程库以及大多数C python模块。要调用该脚本,您需要导入一个入口点并调用它。我相信按照惯例,调用入口点main并调用它,传递它可能需要的任何参数。总的来说,这是一种良好的做法。例如,在调用应用程序中:

from client import main
main()
GoogleAppEngine使用并禁用了许多系统和子进程库以及大多数C python模块。要调用该脚本,您需要导入一个入口点并调用它。我相信按照惯例,调用入口点main并调用它,传递它可能需要的任何参数。总的来说,这是一种良好的做法。例如,在调用应用程序中:

from client import main
main()

谢谢你的链接-我不知道GAE的Python中的变化。谢谢你的链接-我不知道GAE的Python中的变化。