Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在python中检测文本文件中的哪种换行符?_Python 3.x_Split_Line Breaks - Fatal编程技术网

Python 3.x 如何在python中检测文本文件中的哪种换行符?

Python 3.x 如何在python中检测文本文件中的哪种换行符?,python-3.x,split,line-breaks,Python 3.x,Split,Line Breaks,我的问题如下。我有一个文本文件,里面有很多行。问题是此文本可能是由Windows、Unix或Mac创建的 我想在python中打开这个文本(作为一个字符串块),并根据一个换行符进行拆分,以在末尾得到一个包含所有行的数组。问题是,我只使用windows创建的文件测试了此功能,以便可以根据需要轻松拆分字符串块\n。但如果我正确理解其他环境,请使用\r\r\n…等 我想要一个通用的解决方案,在开始分割之前,我可以检测到文件中使用了哪种换行符,以便正确地分割它。这可能吗 谢谢, UNIX_NEWLINE

我的问题如下。我有一个文本文件,里面有很多行。问题是此文本可能是由Windows、Unix或Mac创建的

我想在python中打开这个文本(作为一个字符串块),并根据一个换行符进行拆分,以在末尾得到一个包含所有行的数组。问题是,我只使用windows创建的文件测试了此功能,以便可以根据需要轻松拆分字符串块\n。但如果我正确理解其他环境,请使用\r\r\n…等 我想要一个通用的解决方案,在开始分割之前,我可以检测到文件中使用了哪种换行符,以便正确地分割它。这可能吗

谢谢,

UNIX_NEWLINE = '\n'
WINDOWS_NEWLINE = '\r\n'
MAC_NEWLINE = '\r'

这将是不同的操作系统如何在文件中应用换行符,以及python如何看待它

是的,但是如果我打开文件,就会得到一个字符串块。用三个if应用“contains”是否足以确保获得正确的内容?如果i中的UNIX\u NEWLINE或i中的WINDOWS\u NEWLINE或i中的MAC\u NEWLINE:是的;它比我想象的要简单(也可以处理*nix和Mac)