12

C または C++ で freopen() の機能を複製できる Python には何かありますか? 正確には、次の機能を複製したいと考えています。

freopen("input.txt","r",stdin);

freopen("output.txt","w",stdout);

そして、ファイル I/O のコンソール I/O と同じ (標準) 関数を使用します。何か案は?

4

5 に答える 5

10

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__ない場合は、を使用して回復するか、まったく回復しないでください)。

于 2013-05-16T08:16:43.880 に答える