将文件中的字符读入列表

时间:2016-02-11 15:48:18

标签: python python-2.7 python-2.x

我有一个程序的一部分,代码如下

file1 = [line.strip()for line in open(sometext.txt).readlines()] 
print ((file1)[0])

当代码执行时,它给出了txt文件的全部内容,这是一个很长的句子, 我将如何阅读每个字母并将其放在一个列表中以分别索引每个字符?我使用了list()函数,它似乎将整个文本文件放入列表而不是每个字符。

2 个答案:

答案 0 :(得分:2)

您可以使用file.read()而不是file.readlines()

file1 = [char for char in open(sometext.txt).read()]

然而,你并不需要列表理解;相反,你可以这样做:

file1 = list(open(sometext.txt).read())

另外,正如@furas在评论中提到的那样,您不需要列表来进行索引。 str还有一个名为index的方法,因此您可以说file1 = open(sometext.txt).read()并仍然可以使用file1.index()。注意,str也有find方法,如果找不到子字符串,它将返回-1,而不是引发ValueError。

答案 1 :(得分:0)

使用read()就足够了。加。如果要存储没有\n和空格的列表,可以使用:

char_list = [ch for ch in open('test.txt').read() if ch != '\n' if ch != ' ']

如果要维护if语句,可以将其删除。