19

hello world をファイルに書き込むための簡単なコマンドを実行しようとしています。

50 complexity:test% python2.7
Python 2.7.3 (default, Feb 11 2013, 12:48:32)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f=open("/export/home/vignesh/resres.txt","w")
>>> f.write("hello world")
>>> f.write("\t".join(["hello","world"]))

これは空のファイルを返します。

4

2 に答える 2

25

Python は、それぞれの後にファイルをフラッシュしませんwrite。次を使用して手動でフラッシュする必要がありますflush

>>> f.flush()

または次のようにして自分で閉じますclose

>>> f.close()

実際のプログラムでファイルを使用する場合は、以下を使用することをお勧めしますwith

with open('some file.txt', 'w') as f:
    f.write('some text')
    # ...

これにより、例外がスローされた場合でも、ファイルが確実に閉じられます。ただし、REPL で作業したい場合は、with実行する前に全体を読み取ろうとするため、手動で閉じることをお勧めします。

于 2013-08-04T23:40:50.950 に答える
7

ファイルを閉じる必要があります。

>>> f.close()

また、withファイルを開くときにキーワードを使用することをお勧めします。

with open("/export/home/vignesh/resres.txt","w") as f:
    f.write("hello world") 
    f.write("\t".join(["hello","world"]))

自動的にそれらを閉じます。

于 2013-08-04T23:40:45.550 に答える