2016-11-09 12 views
0

標準入力から任意のファイルを読み込み、出力をファイルに書き込むために、上記のようなタスクがあります。標準入出力をファイルに読み込むスクリプト

それに関するアイデアはありますか?私は、Pythonに新たなんだけど、私は、これはかなり広い質問ですstd.inを使用して考えて、ちょうどprint output>>file.txt

import sys 
var = sys.stdin.readline() 

sys.stdout.write(var) 

#write output to file 
f = open("output.txt", 'w') 
sys.stdout = f 
print "output" 
f.close() 
+0

ようこそスタックオーバーフローする - あなたがしようとしたものを持っていて、問題が何を持っていますと? – Dunno

+0

オペレーティングシステムによっては、stdinとstdoutによってバイナリデータを読み書きする際に問題が発生することがあります(デフォルトではテキストモードで開くため、処理されるデータが変更される可能性があります)。私はあなたがstdoutについて気にしないと思う。 – martineau

答えて

0

ました。より具体的な回答が必要な場合は、より具体的にする必要があります。

raw_input()を使用して入力から1行を読み込むことも、sysをインポートしてsys.stdinにアクセスすることで、stdinをストリームとして扱うこともできます。たとえば、sys.stdin.read()は、EOFが発生するまで読み取ります。


ので、標準入力からの入力ファイルを読み込み、ファイルに書き込むために、あなたはこれを行うことができます。

import sys 

f = open("myfile.txt", "w") # open the file 

for line in sys.stdin: # iterate over the lines in stdin 
    f.write(line) # write the line to the file 

f.close() # close the file 
+0

はい、私はかなり広いことを認識しています。どのように標準入力から読むか。出力を1行ずつテキストファイルに書き出しますか? – Dude1234

+0

申し訳ありませんが、私は私の答えに適応しました。 – bigblind

+0

これのために入力部品を変更するにはどうすればよいですか? 'code'インポートSYS VAR = sys.stdin.readline() sys.stdout.write(VAR) F =オープン・ファイルに #write出力( "output.txtとする"、 'W') sys.stdout = f print "output" f.close() 'code' – Dude1234

関連する問題