2011-07-11 24 views
0

は、シェルスクリプトのようにこれに似た何かをすることによって、Pythonでファイルに書き込むための方法はありますか?あなたはおそらく、ライン毎fp.write(またはprint)にいくつかの呼び出しを行う、または例えば空白の問題を回避するためにtextwrap.dedentを使いたいけどPythonの同等のシェルで

答えて

2

質問が正しく理解できれば、bashのhere document機能を参照しています。私はPythonに直接的に相当するものはないと思いますが、開始と終了を区切るために、複数行の文字列を"""(3重引用符)を使用して入力することができます。

myFile = open("/tmp/testfile", "w") 
myFile.write(long_string) 
myFile.close() 

をして、bashの一例として、多くの同じことを実現する:あなたは、ファイルに書き込むことができ

>>> long_string = """First 
... Second 
... Third""" 
>>> print long_string 
First 
Second 
Third 

2
with open('document.txt', 'w') as fp: 
    fp.write('''foo 
{variable} 
    '''.format(variable = 42)) 

with open('document.txt', 'w') as fp: 
    print >>fp, 'foo' # in 3.x, print('foo', file = fp) 
    print >>fp, variable 

ちょうどthe tutorialを読むのが最善です。

関連する問題