Python 出力をテキスト ファイルにリダイレクトする
Python を使用して印刷出力をテキスト ファイルにリダイレクトしようとすると、選択した形式の場合に問題が発生する可能性があります。このメソッドでは望ましい結果が得られません。
問題説明
次のコードは、sys.stdout を使用して出力をファイルにリダイレクトできません:
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
解決策
sys の代わり.stdout の場合は、ファイル オブジェクトの使用を検討してください。印刷:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
代替ソリューション
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
追加の考慮事項
以上がPython の印刷出力をテキスト ファイルに適切にリダイレクトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。