我有文件要转换为Unix格式。选择python转换方式可能面临哪些差异/问题:
import sys
filename = sys.argv[1]
text = open(filename, 'rb').read().replace('\r\n', '\n')
open(filename, 'wb').write(text)而不是:在子进程中调用dos2unix Unix命令?
谢谢!
发布于 2016-04-01 10:15:03
来自man dos2unix
Dos2unix包包括实用程序"dos2unix“和"unix2dos”,用于将DOS或Mac格式的纯文本文件转换为Unix格式,反之亦然。 在DOS/Windows文本文件中,换行符也称为换行符,它是两个字符的组合:一个是载运返回(CR),后面是一个line Feed (LF)。在Unix文本文件中,换行是一个字符: line Feed (LF)。在Mac文本文件中,在Mac之前,中断行是单载波返回(CR)字符。现在Mac使用Unix样式(LF)换行。 除了换行之外,Dos2unix还可以转换文件的编码。几个DOS代码页可以转换为Unix拉丁语-1。Windows Unicode (UTF-16)文件可以转换为Unix Unicode (UTF-8)文件。
..。
-ascii只转换换行符。这是默认的转换模式。
因此,dos2unix可以做的不仅仅是转换换行,但是默认的行为只是这样。
如果您的文件编码错误,您也必须处理dos2unix。
https://stackoverflow.com/questions/36352457
复制相似问题