使用python实现unix2dos和dos2unix命令的例子


Posted in Python onAugust 13, 2019

由于工作电脑网络限制无法安装unix2dos和dos2unix命令转换文件,自己实现一个

直接上代码,保存为python文件如unix2dos.py然后使用命令

unix2dos.py {unix2dos|dos2unix} {dirname|filename}
#! /usr/bin/env python
# coding=utf-8
 
import os
import sys
 
try:
  input = raw_input
except:
  pass
 
def usage():
  print('Usage:')
  print('\t %s' % ('unix2dos.py {unix2dos|dos2unix} {dirname|filename}'))
 
def err_exit(msg):
  if msg: print('%s' % msg)
  usage()
  sys.exit(0)
 
def getfiles(root):
  for dirpath, dirnames, filenames in os.walk(root):
    for filename in filenames:
      yield os.path.join(dirpath, filename)
 
def format_file(file, toformat='unix2dos'):
  print('Formatting %s:\t%s' % (toformat, file))
  if not os.path.isfile(file):
    print('ERROR: %s invalid normal file' % file)
    return
  if toformat == 'unix2dos':
    line_sep = '\r\n'
  else:
    line_sep = '\n'
  with open(file, 'r') as fd:
    tmpfile = open(file+toformat, 'w+b')
    for line in fd:
      line = line.replace('\r', '')
      line = line.replace('\n', '')
      tmpfile.write(line+line_sep)
    tmpfile.close()
    os.rename(file+toformat, file)
 
def uni_format_proc(filename, toformat):
  if not toformat or toformat not in ['unix2dos', 'dos2unix']:
    err_exit('ERROR: %s: Invalid format param' % (toformat))
  if not filename or not os.path.exists(filename):
    err_exit('ERROR: %s: No such file or directory' % (filename))
  if os.path.isfile(filename):
    format_file(filename, toformat)
    return
  if os.path.isdir(filename):
    for file in getfiles(filename):
      uni_format_proc(file, toformat)
 
if __name__ == '__main__':
  if len(sys.argv) != 3:
    err_exit('ERROR: Invalid arguments')
  uni_format_proc(filename=sys.argv[2], toformat=sys.argv[1])

以上这篇使用python实现unix2dos和dos2unix命令的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详细探究Python中的字典容器
Apr 14 Python
mac系统安装Python3初体验
Jan 02 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
详解python持久化文件读写
Apr 06 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
wxPython之wx.DC绘制形状
Nov 19 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
Python实现FLV视频拼接功能
Jan 21 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
Python编写带选项的命令行程序方法
Aug 13 #Python
使用python模拟命令行终端的示例
Aug 13 #Python
在macOS上搭建python环境的实现方法
Aug 13 #Python
解决Mac下使用python的坑
Aug 13 #Python
python 接口实现 供第三方调用的例子
Aug 13 #Python
python 爬取学信网登录页面的例子
Aug 13 #Python
利用anaconda作为python的依赖库管理方法
Aug 13 #Python
You might like
Smarty安装配置方法
2008/04/10 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
php源码的安装方法和实例
2019/09/26 PHP
JS 继承实例分析
2008/11/04 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
简单解析Django框架中的表单验证
2015/07/17 Python
NumPy 数组使用大全
2019/04/25 Python
Python 如何提高元组的可读性
2019/08/26 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
python 写一个性能测试工具(一)
2020/10/24 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
2015年学生资助工作总结
2015/05/25 职场文书
简爱电影观后感
2015/06/10 职场文书