2012-11-13 26 views
0

我注意到,当我尝试遍历用线如 “蟒蛇” “请” “工作” 我只得到单个字符回来,比如, “文件的字符p“ ”y“ ”t“...遍历全文行而不是

我怎么能得到它给我全字?我一直在尝试几个小时,但找不到方法。我正在使用最新版本的python。 编辑:所有的引号都是换行符。

+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

+0

我编辑了我的帖子以显示实际发生的情况。我知道如何迭代文件中一行的字符,但我只想要整个行。 –

+0

...我已经更新了我的答案以匹配。 ;-) –

+0

完美!感谢:D –

1

如果您将单词存储为字符串,则可以使用split函数将单词分隔空间。

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

我在想那个,但是这些话是在不同的路线上。本质上,我希望它能够在每一行中获取所有信息,而不是以字符形式呈现,而是将所有信息作为一个字符串进行迭代。 –

+0

你能复制并粘贴两行或三行代码吗?这将有所帮助。 – user1787687

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)