将文件作为行列表返回

时间:2017-06-09 14:47:26

标签: python

我想将文件中的所有内容行添加到列表中,但返回的列表为空。

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()

2 个答案:

答案 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它会将这些全部填入列表中