Centos7运行python脚本报错 /usr/bin/python3^M: bad interpreter: No such file or directory解决方法

在Windows上写完Python脚本,丢到Linux环境下运行,经常发生运行报错的情况:查看代码,发现语句也没有啥毛病:此处省略艰辛的排查过程N万个字…用file命令查看文件类型:可以看到行分隔符是CRLF模式,这是Windows格...

在Windows上写完Python脚本,丢到Linux环境下运行,经常发生运行报错的情况:

查看代码,发现语句也没有啥毛病:

此处省略艰辛的排查过程N万个字…

用file命令查看文件类型:
可以看到行分隔符是CRLF模式,这是Windows格式的换行符,
会在每行行末加多一个^M,Linux不识别,具体可以查看CRLF和LF的区别。

用 cat -v 命令查看文件可以看到,行末都有一个^M符号。

解决方法:

替换掉^M符号,重新生成一个文件:

cat -v oldfile.py | sed -e '1,$s/\^M$//g' > newfile.py

用cat -v命令查看效果,^M符号已经替换:

给上执行权限,执行脚本,问题解决:
ps:只去掉了行末的 ^M 符,所以print语句输出的 ^M还在。

附上两个常用软件设置为unix格式的步奏:

Notepad++:

pycharm:

本文标题为:Centos7运行python脚本报错 /usr/bin/python3^M: bad interpreter: No such file or directory解决方法

基础教程推荐