当文本来自python中的QClipboard时,跨平台识别换行符

当文本来自python中的QClipboard时,跨平台识别换行符,python,pyqt,cross-platform,newline,paste,Python,Pyqt,Cross Platform,Newline,Paste,我正在编写一个python脚本,它使用pyqt QClipboard对象从剪贴板获取文本 脚本将粘贴的文本解析为一个二维列表,在换行符处分成行 我使用windows,在大多数编程语言中,我习惯于检查“\n”字符以识别换行符。我遇到的问题是,该脚本需要跨平台工作,在Mac上无法正常工作,在进行一些挖掘后,我发现Mac行结尾在python中被归类为“\r\n” 如何跨平台一致地识别线端 目前,我有两个单独的区域来查找线端点 这一个查找掉队的下线字符并将其删除: if pastedtext[-1] =

我正在编写一个python脚本,它使用pyqt QClipboard对象从剪贴板获取文本

脚本将粘贴的文本解析为一个二维列表,在换行符处分成行

我使用windows,在大多数编程语言中,我习惯于检查“\n”字符以识别换行符。我遇到的问题是,该脚本需要跨平台工作,在Mac上无法正常工作,在进行一些挖掘后,我发现Mac行结尾在python中被归类为“\r\n”

如何跨平台一致地识别线端

目前,我有两个单独的区域来查找线端点

这一个查找掉队的下线字符并将其删除:

if pastedtext[-1] == '\n':
    pastedtext = pastedtext[:-1]
而这会在每个下线拆分文本

pasted = pastedtext.split('\n')
这在windows上可以正常工作,但在mac上不行。如何使这些行在两个系统上都正常工作,或者在运行这些行之前,是否有办法将粘贴的文本转换为特定平台的行结束样式

在对“if”中的“\r\n”进行字符串搜索后,我唯一可以选择分支到两个单独的处理过程。

这就是它的用途:


这将以独立于平台的方式将文本拆分为行。下线字符将从行中删除,除非您将True作为参数传递。

在windows上工作得很好,现在我只想看看它是否在Mac上运行,因为粘贴的输出有点。。。奇怪的
    lines = pastedtext.splitlines()