0

「python」「please」「work」などの行でファイルを反復しようとすると、「p」「y」「t」などの個々の文字しか返されないことに気付きました...

どうすれば完全な言葉を得ることができますか? 数時間試してみましたが、方法が見つかりません。私は最新バージョンのpythonを使用しています。編集:すべての引用符は改行です。

4

3 に答える 3

3

ファイル オブジェクトを反復処理できます。

for line in open('file'):
    for word in line.split():
        do_stuff(word)

詳細については、ドキュメントを参照してください: http://docs.python.org/2/library/stdtypes.html#bltin-file-objects

于 2012-11-13T03:55:37.207 に答える
1

単語を文字列として保存している場合は、split 関数を使用して単語をスペースで分割できます。

>>> "python please work".split(' ')
['python', 'please', 'work']
于 2012-11-13T03:44:49.730 に答える
0

複数の行にまたがる単一の文字列 (文字を含むなど'\n') にデータがある場合は、反復する前に分割する必要があります。これは、(文字列のリストではなく) 文字列を反復処理すると、単語や行ではなく、常に文字を反復処理するためです。

コード例を次に示します。

text = "Spam, spam, spam.\Lovely spam!\nWonderful spam!"

lines = text.splitlines() # or use .split("\n") to do it manually

for line in lines:
     do_whatever(line)
于 2012-11-13T04:30:39.013 に答える