readlines() 在行的末尾没有 EOL

readlines() without EOL at the of the lines

我想从文件中获取很多用户名——每一行都是一个用户名。目前我使用这个代码:

lista = []
z = open("usrnames.txt")
lista = z.readlines()

但是保存在列表中的结果是:

['username1\n', 'username2\n', 'username3\n']

我不想有 EOLs...我除了这个结果:

['username1', 'username2', 'username3']

我该怎么做?我阅读了此函数的文档,但没有找到任何可以禁用放置 EOL 的参数...

您可以将列表理解与 strip:

一起使用
lista = [line.strip() for line in z.readlines()]

或者简单地说,正如@Matthias 所建议的那样:

lista = [line.strip() for line in z]

或使用splitlines:

lista = z.read().splitlines()