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 回答