将定义为文件的变量传递给os.system()

时间:2014-07-15 03:54:11

标签: variables python-2.7 os.system

我正在尝试编写一个为os.system()传递变量的短程序。变量定义如下:

code = 'code.py'
input_file = 'input.xxxx'
output_file = 'output.xxxx'


import os
os.system("python code input_file output_file")

当我将其指定为

时,代码可以正常工作
import os
os.system("python code.py input.xxxx output.xxxx")

但不是变量。 非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你的第一次尝试是传递一个由变量名称组成的字符串,而不是它们的。试试这个:

os.system("python {} {} {}".format(code, input_file, output_file)) # Python 3.x

os.system("python {0} {1} {2}".format(code, input_file, output_file)) # Python 2.x

那会将变量值插入到字符串中。

答案 1 :(得分:0)

python不识别引号内的变量名称。你必须连接字符串和变量,如下所示:

os.system("python " + code + " " + input_file + " " + output_file);

现在我忘了如果python +自动添加一个空格,那么你可能不需要那些“”或python之后的空间