python .write 在行与行之间制造不需要的空格

python .write is making unwanted spaces between lines

我 运行 在 python 中遇到了关于从剪贴板将文件写入为 txt 文件的问题。我正在使用 pyperclip.paste() 从剪贴板获取数据并写入文件。但是当我在 Python 中使用 .write 命令创建一个 .txt 文件时,文本文件的行与行之间有很大的空格,我不明白为什么。我将分享我的意思的屏幕截图。

这是我使用的代码。

import pyperclip

file = open("file.txt", "w")
print(pyperclip.paste())
file.write(pyperclip.paste())
file.close()

这是我试图制作文本文件的剪贴板内容。它具有正确的制表符和换行格式。仅供参考,这是我使用selenium从quizlet“复制文本”中获取的内容,但无论我如何复制文本(记事本,word),问题仍然存在。

Extrinsic pathway       cascade of clotting factors in blood that has escaped the vascular system to form a clot on the outside of the injured vessel

Common Pathway  where intrinsic and extrinsic pathways converge

Initiation of clotting pathway  tissue damage cause by factor 7a in extrinsic pathway

Thrombin Activation     factor 5,8,11,13

Thrombin        - activate platelets
- convert fibrinogen to fibrin
- activate factors and Protein C

Tissue factor   initiates the extrinsic pathway when released in response to tissue damage

Calcium needed  extrinsic 9-10, 10-2
intrinsic 11-9, 9-10, 10-2

image of pasting my clipboard content into notepad粘贴到记事本中时,格式正确

Image of VSCode terminal我也用了print(pyperclip.paste()),文字输出正常

The file.txt written by python with incorrect format 当我用file.write(pyperclip.paste()) 写入文件时,行与行之间不应该有空格。

这是怎么回事?我该如何解决这个问题,并保存正确的文本文件?

我的猜测是这些行的末尾有一个 \r\n,Windows 将其视为一个新行,也许 pyperclip 将其视为两个。

您可以解决此问题,方法是使用 'splitlines' 拆分文本,然后将其粘在一起,每行一个 \n

"\n".join(pyperclip.paste().splitlines())