2016-10-17 31 views
2

現在、 "temperature.txt"というテキストファイルを開こうとしています。ファイルハンドラを使用してデスクトップに保存しましたが、なんらかの理由で動作させることができません。誰かが間違っていることを誰に教えてもらえますか?Pythonでテキストファイルを開くにはどうすればよいですか?

#!/Python34/python 
from math import * 

fh = open('temperature.txt') 

num_list = [] 

for num in fh: 
    num_list.append(int(num)) 

fh.close() 
+2

どうか私たちには表示されるエラーを教えてください。テキストファイル内のデータの簡単な説明も役立ちます。 – RichArt

+0

'FileNotFoundError' - ' tempertature.txt'はあなたの '.py'ファイルと同じディレクトリになければなりません。 'ValueError' - (ファイルから読み込んだ)文字列をintに変換しようとしましたが、intではありません。 'Can not see output' - あなたのリストを出力します。 –

+0

コードに問題はありません。あなたが助けが必要な場合 - あなたにも私たちにエラーを与える必要があります。しかし、以前のコメントと同様に、問題はファイルが存在しない(またはスクリプトが間違ったディレクトリを探している)か、ファイル内に数字だけではない行が存在する可能性が高い(たとえば、ファイルが正しく開かれていても、forループにエラーが発生する可能性があります) – Shadow

答えて

-1

あなたは、単に(.readlinesを使用する必要がある)このようなFH

上:

#!/Python34/python 
from math import * 

fh = open('temperature.txt') 

num_list = [] 

read_lines = fh.readlines() 
for line in read_lines: 
    num_list.append(int(line)) 

fh.close() 
+0

行の行を意味します –

+0

これを指摘してくれてありがとう、すぐに編集しました! – Moardant

+1

これは実際には当てはまりません。 '' readlines''を呼び出すと、ファイル全体がメモリに読み込まれますが、それだけを残しておくと、大きなファイルで効率的になるように、メモリ内に1行しかありません。 @ shadowが言っているように – Shadow

0

これを行うにはニシキヘビの方法は、あなたがいない

#!/Python34/python 
from math import * 

num_list = [] 

with open('temperature.text', 'r') as fh: 
    for line in fh: 
     num_list.append(int(line)) 

です'with'ステートメントが自動的にそれを処理するため、ここで閉じる必要があります。

あなたはリスト内包に慣れている場合 - これは別の方法である:あなたの現在のディレクトリにある必要があり、どちらもが、私は、数学のモジュールのインポートを残してきたいずれの場合も「temperature.text」は、

#!/Python34/python 
from math import * 

with open('temperature.text', 'r') as fh: 
    num_list = [int(line) for line in fh] 

コードの一部が必要です

+0

両方の例でフ​​ァイル名の後ろに引用符がありませんでした。 – Shadow

+0

@shadow - クイック編集で簡単に修正できます:-) - すべて完了しました。 –

+0

それははるかに良いです:) – Shadow

関連する問題