传递命令行参数

时间:2012-11-23 08:18:37

标签: python python-2.7

我编写了一个脚本,然后运行其他一些代码,我需要在执行之前检查后面代码中的一些条件!所以我想到了使用命令行参数,并且我没有更好的OOP概念知识来编写类,这是在堆栈溢出中为类似问题给出的大多数答案中推荐的。 我可以传递像这样的论据

subprocess.call([sys.executable, 'Cnt1', 'argument1', 'argument2'])

如果可以,如何读取后一代码中的参数? 我试着打印

print sys.executable
print Cnt1

打印Cnt1的显示错误

2 个答案:

答案 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