我想通过call.py进行输入重定向以执行main.py。
除此之外,我不想更改main.py的代码。
我想做的事情如下。
call.py
exec(open("./main.py").read() < input.txt)
我当然知道这段代码不起作用。
main.py
name=input()
x=int(input())
print(name +" has chosen "+str(x)+".")
input.txt
Alice
2
请给我建议。
我想通过call.py进行输入重定向以执行main.py。
除此之外,我不想更改main.py的代码。
我想做的事情如下。
call.py
exec(open("./main.py").read() < input.txt)
我当然知道这段代码不起作用。
main.py
name=input()
x=int(input())
print(name +" has chosen "+str(x)+".")
input.txt
Alice
2
请给我建议。
您可以为此使用subprocess
模块。用法示例如下所示。
在 call.py 中:
proc = subprocess.Popen(“ main.py input.txt”,stdout = subprocess.PIPE,stderr = subprocess.PIPE)
您需要在 main.py 中执行的所有操作都是通过使用sys
模块读取 input.txt 的内容。要从命令行获取 input.txt ,请使用sys.argv[1]
。
只需在下面写即可。
os.system('main.py < input.txt')
我发布了一个愚蠢的问题。