2012-05-04 5 views
3

write()の代わりに、Python 2と3のテキストファイルに書き込む別の方法は何ですか?python 2.xと3.xの両方でテキストファイルに直接印刷する方法は?

file = open('filename.txt', 'w') 
file.write('some text') 
+4

なぜ他の方法でやりたいのですか? Pythonは一般的に、1つのことを行う方法はほとんどありません。それは意図的で良い。 "プリント"を使うのは書き込みと同じではないが、微妙な違いがある。 –

答えて

26

あなたはpython2でのpython3からprint()動作を取得するためにprint_functionfuture importを使用することができます:あなたは、その関数は最後に改行を追加したくない場合は、

from __future__ import print_function 
with open('filename', 'w') as f: 
    print('some text', file=f) 

追加print()コールのend=''キーワード引数。

ただし、f.write('some text')を使用することを検討してください。これははっきりしており、__future__のインポートは不要です。

3
f = open('filename.txt','w') 

# For Python 3 use 
print('some Text', file=f) 

#For Python 2 use 
print >>f,'some Text' 
+1

これは最後に改行( '\ n')を付けて印刷することに注意してください – jamylak

関連する問題