Qui*_*tic 11 c c++ python file-io file
python中有什么东西可以在C或C++中复制freopen()的功能吗?确切地说,我想复制以下功能:
freopen("input.txt","r",stdin);
Run Code Online (Sandbox Code Playgroud)
和
freopen("output.txt","w",stdout);
Run Code Online (Sandbox Code Playgroud)
然后对文件I/O使用相同(标准)的控制台I/O函数.有任何想法吗?
For*_*veR 10
sys.stdout只是file对象,因此,您可以将其重新打开到另一个目的地
out = sys.stdout
sys.stdout = open('output.txt', 'w')
// do some work
sys.stdout = out
Run Code Online (Sandbox Code Playgroud)
out仅用于sys.stdout在工作之后将目的地恢复到默认值(如Martijn Pieters所建议 - sys.__stdout__如果您不需要它,您可以通过使用或根本不恢复来恢复它).
如果您正在使用*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"
Run Code Online (Sandbox Code Playgroud)
小智 6
尝试这个:
import sys
sys.stdin = open('input.txt', 'r')
sys.stdout = open('output.txt', 'w')
Run Code Online (Sandbox Code Playgroud)
文本文件不言自明。现在,您可以在Sublime Text或任何其他文本编辑器上运行此代码。
| 归档时间: |
|
| 查看次数: |
2929 次 |
| 最近记录: |