迭代全文行而不是字符

时间:2012-11-13 03:35:00

标签: python text iteration

当我尝试使用诸如。之类的行迭代文件时,我注意到了 “蟒蛇” “请” “工作” 我只收回个人角色,例如: “P” “Y” “T” ...

我怎么能得到它给我完整的字?我已经尝试了几个小时,找不到方法。我正在使用最新版本的python。 编辑:所有引号都是新行。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

如果将单词存储为字符串,则可以使用拆分功能按空格分割单词。

>>> "python please work".split(' ')
['python', 'please', 'work']

答案 2 :(得分: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)