python中有没有什么东西可以复制C或C++中freopen()的功能呢?准确地说,我想复制以下功能:
freopen("input.txt","r",stdin);和
freopen("output.txt","w",stdout);然后对文件I/O的控制台I/O使用相同的(标准)函数。
发布于 2013-05-16 16:16:44
sys.stdout只是一个file对象,所以您可以将其重新打开到另一个目的地
out = sys.stdout
sys.stdout = open('output.txt', 'w')
// do some work
sys.stdout = outout仅用于在下班后将sys.stdout目标恢复为默认状态(正如Martijn建议的那样-您可以使用sys.__stdout__恢复它,或者根本不恢复,如果您不需要它的话)。
发布于 2018-01-20 21:58:59
试试这个:
import sys
sys.stdin = open('input.txt', 'r')
sys.stdout = open('output.txt', 'w')文本文件是自解释的。您现在可以在Sublime Text或任何其他文本编辑器上运行此代码。
发布于 2013-05-16 16:26:47
如果你在*nix平台上工作,你可以编写你自己的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"https://stackoverflow.com/questions/16582194
复制相似问题