使用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二分查找详解
Sep 13 Python
python黑魔法之参数传递
Feb 12 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
Python中断多重循环的几种方式详解
Feb 10 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
Python使用Socket实现简单聊天程序
Feb 28 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
Python实现手势识别
Oct 21 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 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
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python切换hosts文件代码示例
2013/12/31 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
python 动态绘制爱心的示例
2020/09/27 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
民族精神月活动总结
2014/08/28 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
导游词之太湖
2019/10/08 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL