Kir*_*irt 3 python pc line-breaks python-2.x
我在家里使用PC,在工作时使用Mac.我从来没有遇到任何关于python脚本或它们的输出中的换行问题,但每当我向我的老板发送一些东西时,我会收到一封愤怒的电子邮件,其中包含关于Windows换行符的信息.
最新的是python脚本的输出,我告诉它用'\n'结束每一行,但仔细观察(在我工作的Mac上)似乎每一行确实以'\ r \n结尾\ N".
发生了什么,我该如何阻止它?我曾经在家里的Linux虚拟机中运行我的所有脚本,但是我发现它太慢而且非常繁琐,肯定有一个更简单的修复?
这是因为您在文本模式下打开了文件,而Python正在按照您正在使用的平台(Windows使用\r\n和Linux刚刚使用\n)对新行进行规范化.您需要以二进制模式打开文件,如下所示:
f = open("myfile.txt","wb")
Run Code Online (Sandbox Code Playgroud)
除非您还指定了二进制模式,否则当您读入文件时(除非\r\n被替换\n),它会反向执行相同的操作:
f = open("myfile.txt", "rb")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1138 次 |
| 最近记录: |