我一直在练习用Python阅读文件,因为我是那个特定领域的新手。
我有一个文本文件,如:
Hello,my,name,is,Jack
我希望将其转移到这样的list
:
["Hello", "my", "name", "is", "Jack"]
我试过这样做:
array = []
file = open("Names.txt", "r")
for line in file:
array.append(line.split(","))
print(array)
但我有一个非常奇怪的error
:
File "C:\Python27\lib\random.py", line 261, in choice
return seq[int(self.random() * len(seq))] # raises IndexError if seq is
empty
IndexError: list index out of range
>>>
我该如何解决?
答案 0 :(得分:0)
尝试以下方法:
with open('Names.txt', 'rb') as f:
content = list()
for line in f:
content.append(line.replace('\n','').split(','))
如果您正在使用Windows操作系统,请使用' \ n \ r'而不是' \ n'在替换声明中
答案 1 :(得分:0)
您尚未发布完整代码(在此代码中,您尚未使用random
module
),但可以从error
看到您正试图在空random.choice
上进行list
。
您可以像这样重现error
:
>>> import random
>>> random.choice([])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/random.py", line 275, in choice
return seq[int(self.random() * len(seq))] # raises IndexError if seq is empty
IndexError: list index out of range
因此,如果您发布整个代码,我们可以为您提供进一步的帮助,但是您需要找到您要调用的位置random.choice()
并调试您调用的list
on 。