【发布时间】:2015-11-28 20:25:49
【问题描述】:
我正在尝试将参数传递给我的 test_script.py,但出现以下错误。我知道这不是最好的方法,但它是唯一可行的方法,因为我不知道 test_script.py 中有哪些函数。如何将参数作为标准输入输入?
test_script.py
a = int(input())
b = int(input())
print(a+b)
main_script.py
try:
subprocess.check_output(['python', 'test_script.py', "2", "3"], stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print(e.output)
错误
b'Traceback (most recent call last):\r\n File "test_script.py", line 1, in <module>\r\n a = int(input())\r\nEOFError: EOF when reading a line\r\n'
【问题讨论】:
-
在
main_script中,您将数字作为参数传递,但在test_script中,您试图从stdin中读取它们 -
是的,我知道,但我不知道如何解决
-
你到底想做什么?
-
一个测试其他脚本的脚本,您输入输入数据并读取输出,如果您知道正确的输出,您可以查看该脚本是否正常工作
-
骗子几乎涵盖了你需要的一切
标签: python subprocess stdin