我试图从外部文件创建一个列表,但是我被添加到每个列表元素 [duplicate]

Im trying to create a list from an external file however I get \n added to each list element [duplicate]

提问人:tekkyprograms 提问时间:12/27/2022 更新时间:12/27/2022 访问量:46

问:

因此,对于上下文,我正在用python编写一个程序,其中我有一个包含用户名和密码的外部文件(user.txt)。我想创建一个列表,其中每个元素都是 user.txt 中每一行的用户名 + 密码。例如,user.txt 中的第一行是 'jack, pass123',列表应该读作 ['jackpass123'],然后说 user.txt 中的第二行是 'dave, word543',那么列表应该读作 ['jackpass123', 'daveword543']。

这是我编写的代码:

f = open('user.txt', 'r+')
credentials = []
for line in f:
    line_split = line.split(', ')
    element = line_split[0] + line_split[1]
    credentials.append(element)
print(credentials)
f.close()

我得到的列表是:['jackpass123\n', 'daveword543'] 请注意,“\n”被添加到除最后一个元素之外的每个元素的末尾。我猜这是由于用户.txt文件的格式,但是如何在不更改用户.txt文件的情况下摆脱它。

最终,我希望能够匹配用户名和密码的用户输入以匹配此列表中的元素,但“\n”正在变得令人讨厌。

感谢您的任何帮助

python 列表 追加 匹配 外部

评论

0赞 Cow 12/27/2022
尝试:。我也可以建议使用上下文管理器打开文件:那么您不需要关闭文件,上下文管理器会为您处理。line.strip().split(', ')with open(...) as f:
0赞 Gameplay 12/27/2022
element.replace("\n","")追加之前
0赞 bn_ln 12/27/2022
甚至credentials.append(element.strip())

答:

0赞 PW1990 12/27/2022 #1
f = open('user.txt', 'r+')
credentials = []
for line in f:
    line_split = line.split(', ')
    element = (line_split[0] + line_split[1]).replace('\n', '')
    credentials.append(element)
print(credentials)
f.close()

可用于删除 \n.replace