将dos格式文件转换为unix格式

在windows下换行符是 ,表示回到行首并换到下一行

而unix系统中换行符是

这样就存在一个问题,在windows上的文档到了unix上可能就无法使用了

针对这个情况有几种解决办法:

1.用vim修改文档的文本格式(fileformat)

:set ff		   #查看当前文本格式
:set ff=unix   #设置成unix格式

2.使用ide修改文本格式

notepad++:

右下角点击Windows(CR LF)即可切换

idea:

同样右下角

3.python脚本生成文件的时候指定换行符类型

如果使用python生成文本,则可以在生成文件的时候指定newline达到这个效果

    with open("test.txt", 'w', newline='
') as out:
        out.write("hello world")

这里说明一下open()方法中newline选项的作用:

在读取文件的时候,如果newline为默认值None,则换行符为通用模式,读取每一行数据的时候遇到 , , 都会结束,并且在返回的时候都会转换为 ,如果newline的值为''或者 ,就不会有转换发生。

在写入文件的时候,如果newline为默认值None,则 写入后会转换为平台依赖的换行符,比如如果是windows平台则会转换为 ;如果newline的值为''或者 ,则不会有转换发生。如果是其他字符的话,则所有写入的 都会转换为指定的字符。

原文地址:https://www.cnblogs.com/cord/p/9504513.html