我正在尝试编写一个为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")
但不是变量。 非常感谢您的帮助。
答案 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之后的空间