2024-04-28 00:00:57 发布
网友
freopen("input.txt","r",stdin);
以及
然后使用相同的(标准)函数进行控制台I/O和文件I/O。有什么想法吗?在
如果您在*nix平台上工作,您可以编写自己的freopen。在
freopen
def freopen(f,option,stream): import os oldf = open(f,option) oldfd = oldf.fileno() newfd = stream.fileno() os.close(newfd) os.dup2(oldfd, newfd) import sys freopen("hello","w",sys.stdout) print "world"
sys.stdout只是file对象,因此,您可以将其重新打开到另一个目的地
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__来恢复它,或者根本不恢复,如果您不需要的话)。在
out
sys.__stdout__
试试这个:
import sys sys.stdin = open('input.txt', 'r') sys.stdout = open('output.txt', 'w')
文本文件是不言而喻的。 现在您可以在Sublime文本或任何其他文本编辑器上运行此代码。在
如果您在*nix平台上工作,您可以编写自己的
freopen
。在sys.stdout
只是file
对象,因此,您可以将其重新打开到另一个目的地out
仅用于在工作后将sys.stdout
目的地恢复为默认值(正如Martijn Pieters所建议的那样,您可以使用sys.__stdout__
来恢复它,或者根本不恢复,如果您不需要的话)。在试试这个:
文本文件是不言而喻的。 现在您可以在Sublime文本或任何其他文本编辑器上运行此代码。在
相关问题 更多 >
编程相关推荐