2014-03-30 28 views
0

我接触到了将输入文件组织成字典和我的算法的问题,我决定首先将输入文件转换为每行(str)的列表。基本上,给出:将输入文件转换为每行的列表

ABCDE 
FGHIJ ABCDEFG 
FGHIJ ABCDEFG LOLOA 

将变成

[['ABCDE'], ['FGHIJ', 'ABCDEFG'], ['FGHIJ', 'ABCDEFG', 'LOLOA']] 

我不确定我该怎么开始。

+0

你可以通过阅读文件开始。你甚至不能这样做? –

回答

4

你需要做两件事情:

  1. 读取的文件中。这最好用with-statement完成。

  2. 使用list comprehension或类似的设备来分割空白的行。

下面是一个演示:

>>> with open('/path/to/file.txt') as myfile: 
...  print [line.split() for line in myfile] 
... 
[['ABCDE'], ['FGHIJ', 'ABCDEFG'], ['FGHIJ', 'ABCDEFG', 'LOLOA']] 
>>> 
0
fname = "*.txt" 

f = open(fname,'r') 

lines = f.readlines() 

开放的方式打开文件,和 'R' 选项意味着读它(其他选项包括 'W' 写)

+0

由于readlines返回字符串列表而不是字符串列表列表,因此不是很正确。 –

+0

如果没有给出模式,'open'默认为读取模式。 – iCodez

+0

@RobParker对..我的错,需要用split来分隔线 –