我注意到,当我尝试使用诸如“python”“please”“work”之类的行来迭代文件时,我只会得到单个字符,例如“p”“y”“t”......
我怎么能得到它给我完整的话?我已经尝试了几个小时,但找不到方法。我正在使用最新版本的python。编辑:所有引号都是新行。
您可以遍历文件对象:
for line in open('file'):
for word in line.split():
do_stuff(word)
有关详细信息,请参阅文档:http: //docs.python.org/2/library/stdtypes.html#bltin-file-objects
如果要将单词存储为字符串,则可以使用 split 函数按空格拆分单词。
>>> "python please work".split(' ')
['python', 'please', 'work']
如果您将数据放在一个跨越多行的字符串中(例如,它包含'\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)