我如何使代码执行python文件(而不是它本身)并带有输入重定向?
我想使call.py执行main.py,输入重定向为input.txt 除此之外,我不想更改main.py的代码 我想做的事情如下 呼叫.py我如何使代码执行python文件(而不是它本身)并带有输入重定向?,python,input,io,io-redirection,Python,Input,Io,Io Redirection,我想使call.py执行main.py,输入重定向为input.txt 除此之外,我不想更改main.py的代码 我想做的事情如下 呼叫.py exec(open("./main.py").read() < input.txt) input.txt Alice 2 请给我建议。您可以使用子流程模块进行此操作。示例用法如下所示 在调用.py中: proc=subprocess.Popen(“main.py input.txt”,标准输出= subprocess.PIPE,stderr=s
exec(open("./main.py").read() < input.txt)
input.txt
Alice
2
请给我建议。您可以使用
子流程
模块进行此操作。示例用法如下所示
在调用.py中:
proc=subprocess.Popen(“main.py input.txt”,标准输出=
subprocess.PIPE,stderr=subprocess.PIPE)
在main.py中,只需使用
sys
模块读取input.txt的内容即可。要从命令行获取input.txt,请使用sys.argv[1]只需编写以下内容即可
os.system('main.py < input.txt')
os.system('main.py
我发布了一个愚蠢的问题。很抱歉,问题中缺少信息。我不想更改main.py的代码。恐怕您无法通过call.py将input.txt的内容直接提供给main.py。这是处理两个不同的流:文件流和标准数据流。您不能将文本文件的内容“将来馈送”到另一个python脚本的stdin流。
os.system('main.py < input.txt')