使用python实现unix2dos和dos2unix命令的例子
由于工作电脑网络限制无法安装unix2dos和dos2unix命令转换文件,自己实现一个
直接上代码,保存为python文件如unix2dos.py然后使用命令
unix2dos.py{unix2dos|dos2unix}{dirname|filename}
#!/usr/bin/envpython
#coding=utf-8
importos
importsys
try:
input=raw_input
except:
pass
defusage():
print('Usage:')
print('\t%s'%('unix2dos.py{unix2dos|dos2unix}{dirname|filename}'))
deferr_exit(msg):
ifmsg:print('%s'%msg)
usage()
sys.exit(0)
defgetfiles(root):
fordirpath,dirnames,filenamesinos.walk(root):
forfilenameinfilenames:
yieldos.path.join(dirpath,filename)
defformat_file(file,toformat='unix2dos'):
print('Formatting%s:\t%s'%(toformat,file))
ifnotos.path.isfile(file):
print('ERROR:%sinvalidnormalfile'%file)
return
iftoformat=='unix2dos':
line_sep='\r\n'
else:
line_sep='\n'
withopen(file,'r')asfd:
tmpfile=open(file+toformat,'w+b')
forlineinfd:
line=line.replace('\r','')
line=line.replace('\n','')
tmpfile.write(line+line_sep)
tmpfile.close()
os.rename(file+toformat,file)
defuni_format_proc(filename,toformat):
ifnottoformatortoformatnotin['unix2dos','dos2unix']:
err_exit('ERROR:%s:Invalidformatparam'%(toformat))
ifnotfilenameornotos.path.exists(filename):
err_exit('ERROR:%s:Nosuchfileordirectory'%(filename))
ifos.path.isfile(filename):
format_file(filename,toformat)
return
ifos.path.isdir(filename):
forfileingetfiles(filename):
uni_format_proc(file,toformat)
if__name__=='__main__':
iflen(sys.argv)!=3:
err_exit('ERROR:Invalidarguments')
uni_format_proc(filename=sys.argv[2],toformat=sys.argv[1])
以上这篇使用python实现unix2dos和dos2unix命令的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。