改行を保持せずに Python でファイルを読み取る方法
Python で、open(filename, 'r') を使用してファイルを読み取ります。 readlines() は、末尾に改行文字を含む文字列のリストを提供します。この動作は場合によっては望ましくない場合があります。この記事では、改行なしでファイルを読み取るいくつかの方法について説明します。
方法 1: str.splitlines() を使用する
このメソッドは、ファイル全体を文字列に読み取り、 str.splitlines() 関数を使用して、それを個々の行に分割します。結果は、改行のない文字列のリストです。
temp = file.read().splitlines()
方法 2: 手動で改行を削除する
リストの内包とスライス方法が優先される場合は、次のアプローチが役立ちます。
temp = [line[:-1] for line in file]
ただし、この解決策はファイルを前提としています。改行文字で終わります。そうしないと、最後の行の最後の文字が失われます。
方法 3: ファイルの末尾に改行を追加する
最後の文字が失われないようにするには、改行を次のようにします。読み取る前にファイルの末尾に追加します:
with open(the_file, 'r+') as f: f.seek(-1, 2) if f.read(1) != '\n': f.write('\n') f.flush() f.seek(0) lines = [line[:-1] for line in f]
方法 4: を使用するrstrip()
このメソッドは、改行を手動で削除する代替手段を提供します。
[line.rstrip('\n') for line in file]
方法 5: 条件付きスライスを使用する
読みにくくなりますが、このメソッドは または のブール評価を利用します。演算子:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
注: Python の readlines() メソッドは、readline() 自体が改行を保持するため、返された文字列のリストに改行を保持します。
以上が改行なしでPythonでファイルを読み取る方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。