我想将文件中的所有内容行添加到列表中,但返回的列表为空。
def phone_num():
item = []
with open("test.txt", "r") as f:
for i in f.readlines():
item.append(i.strip('\n'))
return item
phone_num()
答案 0 :(得分:1)
通过利用列表推导,您可以使此方法非常简洁:
def phone_num():
with open('test.txt', 'r') as f:
return [line.strip('\n') for line in f]
另请考虑使用'rU'
作为开放模式来启用Universal Newline Support。
不确定为什么你的结果不起作用,但可能是因为该文件实际上没有你想要的内容。尝试运行open("test.txt", "r").read()
并确保获得输出。由于这是一个本地文件,您可能无法从您认为的目录中读取。试试这个:
import os
os.getcwd()
确保这与您认为文件所在的目录相匹配。
答案 1 :(得分:0)
这对我有用:
def phone_num():
item = []
with open("test.txt", "r") as f:
for i in f:
item.append(i.strip('\n'))
return item
thelist = phone_num()
print (thelist)
如果我的test.txt文件有abc \ n efg \ n hij \ n它会将这些全部填入列表中