1.异常原因:
DOS系统下和Linux系统下对于换行键的表示不同。
在windows下,用连续的’\r’和’\n’两个字符进行换行。‘\r’为回车符,’\n’为换行符,比如原来的’aaabbb’更改为’aaa \n bbb’后输出的结果为:aaa 换行 bbb。
#!/usr/bin/env python\r\n
在Linux下,用’\n’进行换行。
#!/usr/bin/env python\n
所以windows下的程序会认为#!/usr/bin/env python是一行,而linux会认为#!/usr/bin/env python\r是一行。
2.解决方法:
看了很多网上的教程,说用VIM编辑器进行修改,由于我不是很常用VIM编辑器,尝试了几次并没有成功。后来发现可以用dos2unix这个包进行转换。
首先通过apt-get命令安装dos2unix的包,然后通过dos2unix这个命令即可完成转换。
sudo apt-get install dos2unix
dos2unix <filename>
先更新apt-get
sudo apt-get update
apt-get update
执行完后,问题就解决了。
apt-get install dos2unix
再
dos2unix <filename>
参考:
【1】Python——/usr/bin/env: ‘python(3)\r’: No such file or directory