0

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

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

如果可以,如何阅读后面代码中的参数?我试图打印

print sys.executable
print Cnt1

它显示打印 Cnt1 的错误

4

2 回答 2

1

您已'Cnt1'在子进程调用中指定为字符串

并且print Cnt1会产生错误,因为Cnt1它不是变量

你的语法应该是subprocess.call([sys.executable, Cnt1, argument1, argument2])

假设您在 Cnt1、argument1 和 argument2 变量中有所需的值

于 2012-11-23T09:01:28.037 回答
0

您确实可以python使用该subprocess模块运行,并将参数传递给它。本质上,您将运行一个全新的程序;这与调用函数不同。不过,通常没有必要走这么大的路。

如果你运行一个单独的 python 脚本,你需要解析从sys.argv. 该argparse模块使这更容易,但如果您所做的只是传递参数列表,则不需要。

import sys
print sys.argv
于 2012-11-23T08:48:04.673 回答