2013-08-04 10 views
7

を返します。Pythonは、ファイルへの書き込み、私はファイルへの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

'f.close()'が必要です。 'with'ステートメントを学ぶ時間。 –

+1

私はこれを落とすべきではないと思います。 OPは彼の問題を十分に説明し、コードを示し、本当の質問をしました。彼がPythonに慣れていないという理由だけで彼を罰する理由ではありません。 – iCodez

+1

@Keyser - まあ、あなたはそれを言うことができると思います。ああ、今、この質問は、彼らの研究の将来のコーダーのためのものです。 :) – iCodez

答えて

11

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

>>> f.flush() 

またはcloseでそれを自分で閉じます。

>>> f.close() 

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

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

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

5

:また

>>> f.close() 

は、私はファイルを開くとwithキーワードを使用することをお勧めします:

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

それは自動的にあなたのためにそれらを閉じます。

関連する問題