zoukankan      html  css  js  c++  java
  • window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

      今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory

    1.原因分析
      这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结尾符为' '表,而在linux中行结尾符为' ',而^M 就是是ascii中的' '。

    2.解决方法
    1)在windows下转换: 
      利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 
    2)linux下直接替换:
      sed -i 's/^M//g'  filename ,意思是替换filename中的每一行中的^M为/(注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
    3)也可在Linux中转换: 
      首先要确保文件有可执行权限 : chmod a+x filename ; 然后修改文件格式 :进入vi filename ,之后利用set ff(或者set fileformat)命令查看文件格式 ,为fileformat=dos 或 fileformat=unix ,再利用如下命令修改文件格式 : set ff=unix 或 :et fileformat=unix ;最后wq (存盘退出) 
      最后再执行文件 ./filename

  • 相关阅读:
    MongoDB数据库学习总结
    windows及linux环境下永久修改pip镜像源的方法
    enumerate枚举函数
    sum求和函数
    zip拉链函数
    python实现面对面快传
    redis实现发布订阅
    python自定义classmethod
    Nginx为什么支持那么高的并发量?
    java进阶(28)--Map集合
  • 原文地址:https://www.cnblogs.com/litaozijin/p/7162639.html
Copyright © 2011-2022 走看看