我有一个用例,其中我的Python代码从用户那里获取输入,比如说一个文件名,然后在控制台中打印它的内容。我无法理解如何将控制台的输出重定向到另一个文件output.txt
假设,如果我在控制台上通过以下命令:
python test.py > output.txt
出于明显的原因,控件被重定向到文件缓冲区,并且控制台保持空白和空闲状态。
有人可以建议一下,如何处理这种用例,以便要求用户输入,然后将所有python代码的输出重定向到output.txt
test.py
file_name = input("Enter filename:")
with open(file_name, "r") as f:
for line in f:
list_of_words_in_line = line.split()
print(list_of_words_in_line)
f.close()
对不起,如果这个问题对某人来说非常基本。
答案 0 :(得分:0)
您可以覆盖sys.stdout
import sys
file_name = input("Enter File Name:")
sys.stdout = open(file_name, "w")
print("HAHAHAHAH")
sys.stdout.close()
您可以通过重置原始stdout
-sys.stdout = sys.__stdout__
providedIn: 'root'