解决python脚本在window编辑后linux不能执行的问题
来源:互联网 发布:淘宝依视路镜片真假 编辑:程序博客网 时间:2024/05/21 21:50
如题,python脚本在windows编辑后,在linux下执行提示 /usr/bin/python^M: bad interpreter: No such file or directory
看到^M应该是隐藏字符,原因就是windows行尾和liunx行尾标识符不一致,不同系统间行尾表示如下:
<strong>不同系统间的行尾表示UNIX格式,每行的行尾都是用一个0x0a字符(换行字符LF)表示的,而在WINDOWS/DOS下每行的行尾都是用0x0d 0x0a两个字符(回车字符CR,换行字符LF)表示的,MAC机,每行的行尾都是0x0d字符表示,即回车字符CR。<span style="color:#3333FF;">(经我用winhex查看,确实如此——yockie注)</span>在很多计算机语言中, <CR>表示为字符或字符串是\r, 而<LF>表示为字符或字符中是\n.而在printf这样的函数中, 如果你出现一个\n, 它却代表了一个逻辑上的意义, 即它代表在本地系统上的那种回车换行, 所以它在UNIX上只是<LF>, 但如果你在DOS上用诸如Truboc编程的话它输出的是<CR><LF><strong>所以不同系统之间传输交换文件的时候,会出现问题;</strong>1)Unix或linux上有个小工具, 专门在两种文件格式之间进行转换, 叫unix2dos, dos2unix.或在vim中, 如果你想把一个文件存为另一种文件格式, 只需:set fileformat=unix或等号后面是dos, mac即可, 接下来的存盘动作就会自动把你的文件存为指定平台的格式.2)在UltraEdit的 File->Conversions(有些版本是在Format -> Convert to..)菜单中, 有三个子菜单项就是专供你在各种文本格式之间转换的.必须先将UNIX文本格式转换为DOS格式的。UltraEdit的FILE菜单中提供了对单个文件进行这种转换的能力,也可以实现批量转换。在UE中选择Search | Search in files菜单,在Find框中填写^n(表示UNIX文件中的回车换行符号),在Replace with中输入^p(表示DOS文件中的回车换行符号),全部替换后,就可以实现批量替换了。不同系统间ftp使用注意事项一些ftp的客户端程序会自动进行各个平台的文本文件格式转换. 所以要注意你在ftp中用ls看看到的文件大小未必是你下载下来的文件大小. 上传过程也是一样.如果你不想ftp这样自作主张只要用bin命令即可. 它会告诉ftp进行逐字节的二进制模式传输.在winodows编辑后,导致liunx下文件格式错乱,解决方法
1)在windows上,用UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可
2)在linux上直接替换把不可见字符去掉 sed -i 's/^M//g' filename (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
3)在liunx上转换文件的格式vim filename :set ff可以查看文件格式会显示fileformat=mac dos 或者unix等等 直接 :set ff=unix :wq保存退出即可。
阅读全文
0 0
- 解决python脚本在window编辑后linux不能执行的问题
- 手把手教你:解决pycharm安装后不能执行python脚本的问题
- 解决不能执行已释放的js脚本问题
- 解决Java6.0.29后,Applet不能执行的问题
- Linux下,将python安装在个人目录下,配置环境变量,以及解决crontab执行python脚本会出错的问题
- shell不能执行su 后的脚本
- shell不能执行su 后的脚本
- Linux 在mount 后的磁盘分区 不能执行二进制文件
- 解决vmware10在linux内核升级后不能启动的问题VMWare Kernel Module Updater
- Linuxshell脚本在windows下编辑后执行出错
- window下php脚本在linux报错的问题
- 解决linux系统不能使用方向键执行命令的问题
- 临时解决UIImagePickerController在可编辑模式下选择相册图片后不能上移的bug
- 临时解决UIImagePickerController在可编辑模式下选择相册图片后不能上移的bug
- 通过sudo解决php执行linux脚本的权限问题
- 解决怪异的Linux脚本无法执行问题
- 解决怪异的Linux脚本无法执行问题
- python在linux中执行shell脚本的方法
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 【bzoj 2957】楼房重建(线段树)
- Matlab 画图
- 欢迎使用CSDN-markdown编辑器
- maven + spring + spring mvc + mybatis + cxf Demo
- 解决python脚本在window编辑后linux不能执行的问题
- [LeetCode]189. Rotate Array
- VPN连接配置
- Codeforces 808F 网络流最小割(二分图最大点权独立集) 解题报告
- Solr的概述
- 【数论】【poj1845】Sumdiv
- Java 自动拆装箱
- Kotlin学习笔记(二)
- 10月11号Python生物信息学数据管理