在Python中,调用例如temp = open(filename,'r').readlines()会得到一个列表,其中每个元素都是文件中的一行。然而,这些字符串在末尾有一个换行符,这是我不想要的。

我怎么能得到没有换行符的数据?


当前回答

要去除尾随的行结束符(/n)字符和空列表值("),尝试:

f = open(path_sample, "r")
lines = [line.rstrip('\n') for line in f.readlines() if line.strip() != '']

其他回答

每次读取文件一行。使用str.rstrip(chars)从字符串末尾删除不需要的字符。

with open(filename, 'r') as fileobj:
    for row in fileobj:
        print(row.rstrip('\n'))

请参见str.strip([chars])和str.lstrip([chars])。

temp = open(filename,'r').read().splitlines()

我认为这是最好的选择。

temp = [line.strip() for line in file.readlines()]

您可以使用列表推导式轻松地将文件读取为列表

with open("foo.txt", 'r') as f:
    lst = [row.rstrip('\n') for row in f]

试试这个:

u=open("url.txt","r")  
url=u.read().replace('\n','')  
print(url)