windows 默认换行符为 \r\n;
unix默认换行符为 \n;
所以当win下编辑的脚本在linux下显示末尾多了^M:
换行符修改为同一的unix格式脚本如下:
1 def run(path,file): 2 for file in files: 3 file = path+'\\'+file 4 f = open(file,'r') 5 result = f.read() 6 print result 7 result = result.replace(r'\r\n',r'\n') 8 f.close() 9 # 需要用二进制的方式('b')重写才会OK,否则会自动按照操作系统默认方式10 f = open(file,'wb')11 f.write(result)12 f.close()13 14 if __name__ == '__main__': 15 run()
脚本需要注意的是,重写文件使用二进制方式打开,否则会自动按照操作系统默认方式,即,仍然是\r\n
使用eclipse编辑器,可以如下设置: