0

私はPythonが初めてで、.txt数値を含むファイルがあり、以下のコードを使用してPythonの配列に読み取ります。

numberInput = []
with open('input.txt') as file:
     numberInput = file.readlines()
print numberInput

残念ながら、出力は次のようになります。

['54044\r\n', '14108\r\n', '79294\r\n', '29649\r\n', '25260\r\n', '60660\r\n', '2995\r\n', '53777\r\n', '49689\r\n', '9083\r\n', '16122\r\n', '90436\r\n', '4615\r\n', '40660\r\n', '25675\r\n', '58943\r\n', '92904\r\n', '9900\r\n', '95588\r\n', '46120']

\r\n配列内の各数値に付いている文字を切り取るにはどうすればよいですか?

4

2 に答える 2

2

文字列の\r\n最後に表示されているのは、改行インジケーター (キャリッジ リターン文字とそれに続く改行文字) です。次を使用して簡単に削除できますstr.strip

numberInput = [line.strip() for line in file]

これは、ファイルを (一度に 1 行ずつ) 反復処理し、行の両端にある空白を取り除くリスト内包表記です。

ただし、ファイルの数値を整数として使用したい場合は、intコンストラクターが空白を無視するため、実際には行の削除を回避できます。直接変換した場合は次のようになります。

numberInput = [int(line) for line in file]
于 2013-07-02T00:38:28.700 に答える
1

str.splitlines()の代わりに使用する必要がありますreadlines()

numberInput = []
with open('input.txt') as file:
     numberInput = file.read().splitlines()
print numberInput

これにより、ファイル全体が読み取られ、「ユニバーサル改行」で分割されるため、\r\n.

この質問を参照してください: Python で改行区切りファイルを読み取り、改行を破棄するための最良の方法は?

于 2013-07-02T01:00:12.220 に答える