python 中是否有任何东西可以复制 C 或 C++ 中的 freopen() 的功能?准确地说,我想复制以下功能:
freopen("input.txt","r",stdin);
和
freopen("output.txt","w",stdout);
然后将相同的(标准)函数用于控制台 I/O 和文件 I/O。有什么想法吗?
最佳答案
sys.stdout
只是 file
对象,因此,您可以将其重新打开到另一个目的地
out = sys.stdout
sys.stdout = open('output.txt', 'w')
// do some work
sys.stdout = out
out
仅用于在工作后将 sys.stdout
目标恢复为默认值(如 Martijn Pieters 所建议 - 您可以使用 sys.__stdout__恢复它
,或者根本不恢复,如果你不需要的话)。
关于c++ - freopen() 的 Python 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16582194/