我正在尝试编写一个main()
方法,该方法将调用另一个方法来读取.txt文件中的各个记录。这是loadFile()
方法。我已经测试过loadFile()
方法是否有效,并且返回的列表是ListType。但是,当我在loadFile()
中调用main()
并尝试对生成的列表进行操作时,出现类似TypeError: 'NoneType' object is not subscriptable
的错误。有人可以帮助我确保我从一种方法传递到另一种方法的列表仍然是ListType吗?
def loadFile(fileName):
openFile = open(fileName, 'r')
records = openFile.readlines()
recordList = []
for item in records:
recordList.append(item.rstrip('\n'))
print(recordList)
openFile.close()
def main():
nameFile = 'names.txt'
names = loadFile(nameFile)
print(names[12])
main()
答案 0 :(得分:1)
应该从功能中return
来代替打印。
def loadFile(fileName):
openFile = open(fileName, 'r')
records = openFile.readlines()
recordList = []
for item in records:
recordList.append(item.rstrip('\n'))
openFile.close()
return recordList
def main():
nameFile = 'names.txt'
names = loadFile(nameFile)
print(names[12])
main()
如果您未明确返回任何内容,则Python中的函数将始终返回None
。