首页 > 解决方案 > 如何使用输入重定向制作执行 python 文件(而不是本身)的代码?

问题描述

我想让 call.py 使用 input.txt 的输入重定向执行 main.py。

除此之外,我不想更改 main.py 的代码。

我想做的如下所示。

调用.py

exec(open("./main.py").read() < input.txt)

我当然知道这段代码不起作用。

主文件

name=input()
x=int(input())
print(name +" has chosen "+str(x)+".")

输入.txt

Alice
2

请给我建议。

标签: pythoninputioio-redirection

解决方案


您可以为此使用该subprocess模块。示例用法如下所示。

call.py 中

proc = subprocess.Popen(“main.py input.txt”,stdout = subprocess.PIPE,stderr = subprocess.PIPE)

在main.py中你所要做的就是使用模块读取input.txt的内容。要从命令行sys获取input.txtsys.argv[1] ,请使用.


推荐阅读