在Python字典中删除\n(换行符)

2024-09-30 04:29:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读取一个文件并将其转换为字典,但无法删除字典键中的\n。你知道吗

这是我的密码:

file = open('textfile.txt')

dct = {line.split(":")[0]:line.split(":")[1] for line in file}

print(dct)

下面是输出:

{'John': 'e6868d7b1cb85386cd8bcca41a87ae22c124421caff73d5934982bf5324ef3f6\n', 'Mary': 'cdc7283def7099d7b1a1479b14bb0b4f4c1dafa5e0d7ca2f971e103c5ca2cf91\n', 'Bob': '50bdd8da1bf88ef117720f9be735459bc61403d9c2d59de9365e47636ed7ecf8\n', 'Jane': '11a4a60b518bf24989d481468076e5d5982884626aed9faeb35b8576fcd223e1\n', 'Peter': 'ef794d0f3a4eb6bf12e7b5d1c554ce14e806096e754d118c0a53b7b3d73b9867\n', 'Julia': '7bd9ca7a756115eabdff2ab281ee9d8c22f44b51d97a6801169d65d90ff16327\n', 'Mike': '7ea29f746dc7abe2893bb4279c06aa1e4443c90c4ea2da75557b548d4ecf6694\n', 'Alice': '65791165c0545089fdd23860a47cb594e81aecf30ceb4013944e2eb20b16a959\n', 'Zach': '69aeb1c2851e1a68538654740c7fccccb8d91c2ee96f5281bfba22443045105c\n', 'Vicky': 'bf8ee9479549dde9721ae599d133574ff8230b3cee81baa4f954880af571aa53\n'}


Tags: 文件intxt密码for字典lineopen
3条回答

在生成字典时,请尝试从右侧剥离'\n'

{line.split(":")[0]:line.split(":")[1].rstrip('\n') for line in file}

可以插入另一个生成器以避免两次拆分。在上下文中打开文件也很好,这样它就会自动关闭。你知道吗

with open('textfile.txt') as file:
    dct = { k: v for k, v, *_ in (line.rstrip().split(':') for line in file) }

修剪绳子

dct = {line.split(":")[0]:line.split(":")[1].strip() for line in file}

这将删除其他类型的空白也,这很可能是你想要的。你知道吗

如果只想删除最后一个换行符,请使用.rstrip('\n')而不是.strip()

相关问题 更多 >

    热门问题