我编写了一个脚本,然后运行其他一些代码,我需要在执行之前检查后面代码中的一些条件!所以我想到了使用命令行参数,并且我没有更好的OOP概念知识来编写类,这是在堆栈溢出中为类似问题给出的大多数答案中推荐的。 我可以传递像这样的论据
subprocess.call([sys.executable, 'Cnt1', 'argument1', 'argument2'])
如果可以,如何读取后一代码中的参数? 我试着打印
print sys.executable
print Cnt1
打印Cnt1的显示错误
答案 0 :(得分:1)
您已在子流程调用中将'Cnt1'
指定为字符串
和print Cnt1
会产生错误,因为Cnt1
不是变量
你的语法应该是subprocess.call([sys.executable, Cnt1, argument1, argument2])
假设您在Cnt1,argument1和argument2变量中有必需的值
答案 1 :(得分:0)
您确实可以使用python
模块运行subprocess
,并将参数传递给它。从本质上讲,你将运行一个全新的程序;这与调用函数不同。 通常虽然没有必要走这么大的长度。
如果您运行单独的python脚本,则需要解析从sys.argv
传递的参数。 argparse
module使这更容易,但如果您所做的只是传递参数列表,则不需要。
import sys
print sys.argv