web-dev-qa-db-ja.com

Python)で.textファイルを1行ずつ読み取ります

私の.txtファイルは次のようになります。

![ここに画像の説明を入力してください] [1]

上記と同じ形式で印刷できる文字列オブジェクトにtxtファイルを読み込むにはどうすればよいですか?

I have tried: 
    with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    data = myfile.read()

for item in data:
    print item

このコードは、すべての文字を改行に出力します。文字列メソッド、特に 'string.startswith()'を呼び出すには、txtファイルを文字列にする必要があります

ご覧のとおり、私のIDEコンソールでは、コンテンツの各行の間に黒いスペースの行が表示されています。これらの空白行を削除するにはどうすればよいですか?

これが私の実用的な解決策です:

with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    data = myfile.read()
    for line in data:
        line.rstrip()

print data
5
Philip McQuitty

最も単純なものは次のとおりです。

_data = myfile.readlines()
_

これはコードの残りの部分で機能します-または、myfileで直接ループすることができます(insidewith :-)、一度に1行を取得します。行には末尾の_\n_が含まれているため、印刷する前に.strip()することをお勧めします&c :-)

4
Alex Martelli

行を読み取る最もメモリ効率の高い方法は次のとおりです。

with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    for line in myfile:
        print line

つまり、ファイル全体をメモリに読み込む必要はなく、1行ずつ読み込むだけです。 pythonチュートリアルへのリンクは次のとおりです: https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects