在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的值为''
或者
,则不会有转换发生。如果是其他字符的话,则所有写入的
都会转换为指定的字符。