欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/
因为工作需求,需要把目录下的所有换行符转换为windows换行符’\r\n’,文件太多,只好写一个简单的python脚本转换。
import os import os.path rootdir = r'D:/src' def replace(filename): try: oldfile = open(rootdir+'/'+filename, 'rb+') newfile = open(rootdir + '$' + filename, 'ab+') old = b'\r' new = b'\r\n' data = b'' while (True): data = oldfile.read(200) newData = data.replace(old, new) newfile.write(newData) if len(data) < 200: break newfile.close() oldfile.close() os.remove(rootdir+'/'+filename) os.rename(rootdir + '$' + filename, rootdir+'/'+filename) except IOError as e: print(e) for parent,dirnames,filenames in os.walk(rootdir): if parent[-3:] != 'src': # 我只替换当前目录下的,不替换子目录 print "==:",parent continue for filename in filenames: if filename[-4:] != '.cpp' and filename[-2:] != '.h': # 只替换特定类型文件 print "file:",filename continue replace(filename) #print "parent is:" + parent #print "filename is:" + filename #print "the full name of the file is:" + os.path.join(parent,filename)
而且文件类型比较乱,既有windows('\r\n'),linux('\n'),mac('r'),我要统一转为 windows('\r\n')
就想到一种方法。
1.'\r\n'->'\r',
2.'\n'->'\r',
3.'\r'->'\r\n',
前两步先把\n去掉,全部换为\r,这样就方便全部替换为\r\n,不然总有多余的\r或者\n.
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178175.html原文链接:https://javaforall.net
