python怎么换行继续写脚本_用Python实现换行符转换的脚本的教程
很简单的一个东西,在'\n'、'\r\n'、'\r'3中换行符之间进行转换。
用法
代码如下:
usage: eol_convert.py [-h] [-r] [-m {u,p,w,m,d}] [-k] [-f]
filename [filename ...]
Convert Line Ending
positional arguments:
filename file names
optional arguments:
-h, --help show this help message and exit
-r walk through directory
-m {u,p,w,m,d} mode of the line ending
-k keep output file date
-f force conversion of binary files
源码
这只能算是argparse模块和os模块的utime()、stat()、walk()的一个简单的练习。可以用,但还相当不完善。
#!/usr/bin/env python
#2009-2011 dbzhang800
import os
import re
import os.path
def convert_line_endings(temp, mode):
if mode in ['u', 'p']: #unix, posix
temp = temp.replace('\r\n', '\n')
temp = temp.replace('\r', '\n')
elif mode == 'm': #mac (before Mac OS 9)
temp = temp.replace('\r\n', '\r')
temp = temp.replace('\n', '\r')
elif mode == 'w': #windows
temp = re.sub("\r(?!\n)|(?
return temp
def convert_file(filename, args):
statinfo = None
with file(filename, 'rb+') as f:
data = f.read()
if '\0' in data and not args.force: #skip binary file... ?
print '%s is a binary file?, skip...' % filename
return
newdata = convert_line_endings(data, args.mode)
if (data != newdata):
statinfo = os.stat(filename) if args.keepdate else None
f.seek(0)
f.write(newdata)
f.truncate()
if statinfo:
os.utime(filename, (statinfo.st_atime, statinfo.st_mtime))
print filename
def walk_dir(d, args):
for root, dirs, files in os.walk(d):
for name in files:
convert_file(os.path.join(root, name), args)
if __name__ == '__main__':
import argparse
import sys
parser = argparse.ArgumentParser(description='Convert Line Ending')
parser.add_argument('filename', nargs='+', help='file names')
parser.add_argument('-r', dest='recursive', action='store_true',
help='walk through directory')
parser.add_argument('-m', dest='mode', default='d', choices='upwmd',
help='mode of the line ending')
parser.add_argument('-k', dest='keepdate', action='store_true',
help='keep output file date')
parser.add_argument('-f', dest='force', action='store_true',
help='force conversion of binary files')
args = parser.parse_args()
if args.mode == 'd':
args.mode = 'w' if sys.platform == 'win32' else 'p'
for filename in args.filename:
if os.path.isdir(filename):
if args.recursive:
walk_dir(filename, args)
else:
print '%s is a directory, skip...' % filename
elif os.path.exists(filename):
convert_file(filename, args)
else:
print '%s does not exist' % filename
时间: 2015-04-15
python怎么换行继续写脚本_用Python实现换行符转换的脚本的教程相关推荐
- python pygame模块怎么写游戏_使用 Python 和 Pygame 模块构建一个游戏框架
这系列的第一篇通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏 ...
- python解释器用什么写的_用 Python 从零开始写一个简单的解释器(3)
到目前为止,我们已经为解释器写了一个词法分析器和 一个解析器组合子库.在这里,我们会创建抽象语法树(AST)的数据结构,使用组合子库写一个解析器,组合子库可以实现将词法分析器返回的标记列表转换为一个抽 ...
- python向excel隔行写数据_【Python】将每日新增数据写入Excel
一.背景: 因为自己从网上获取了一些金融数据,也没有配置数据库,所以目前暂时是将数据以增量的形式存储在自己的OneDrive上. 二.代码演绎:导入相关数据包 import pandas as pd ...
- python写魔兽世界脚本_用python bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本...
2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...
- python网络游戏脚本_用Python写一个游戏脚本,你会吗?
学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...
- python代码怎么换行继续写_python代码太长怎么换行
在需要换行的代码后面加一个 / 回车 python怎么换行啊??我是一只崭新的程序猿...在学python..下了3.4,,,打开IDLE是个白其实我想喷上面,但是出于理智,他可能是没理解你的意思或者 ...
- python开发的游戏手机上玩_利用Python开发游戏脚本,就凭一个设定,玩家直接起飞!...
前言 最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西. 当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成.游戏脚本其实并 ...
- python 首次登陆outlook 脚本_记Python“用户环境”的一次完美应用
在之前写过一篇关于虚拟环境使用的文章,但是还没有好好的介绍一下 Python 的用户环境,原因是自己一直没遇到要使用 用户环境 的使用场景,所以就一直懒得写.恰巧这两天,自己遇到了一个使用用户环境的体 ...
- python 脚本_基于Python的ArcGIS脚本编程知识点总结
1. ArcGIS中的组件-ArcObjects Esri主要使用C++开发ArcGIS软件,在ArcGIS软件中,所有的组件或者对象被统称为ArcObjects. ArcObjects部分知识点如下 ...
- python代码写名字_【python】【名字】是什么?,Pythonname
前言 在我们浏览一下 python 文件或者自己写 python 代码的时候,时常会在代码的最后加上这样的一行代码 if __name__ == '__main__': func_name() 那么这 ...
最新文章
- python3.6安装scrapy-win7安装python3.6.1及scrapy
- RHEL6入门系列之十三,阶段练习1
- 每一个div元素分析 php,PHP初入,div知识点整理(特效字体等元素的使用整理)...
- 计算机硬件价钱分配,电脑基础知识计算机硬件基础课件.ppt
- PyTorch机器学习从入门到实践-CH1
- 使用display:none和visibility:hidden隐藏的区别
- Mac不装软件校验MD5和SHA1值
- 重装linux服务器简易流程
- 基于JAVA+SpringMVC+Mybatis+MYSQL的流浪宠物猫狗救助系统
- linux下启动某个进程
- pip install rrdtool
- 服务器硬盘数据备份到nas,群晖NAS教程第五节:如何备份 Synology NAS
- oracle 省份三个字的,中国所有省份的简称是什么?
- C++ switch怎么用
- 孤岛双馈风电机组数学模型matlab,大型变速双馈风电机组动态稳定性仿真分析
- ANSVC无功补偿装置在南京某高等院校中的应用-安科瑞华楠
- 【新知实验室】手把手实现腾讯云音视频应用
- 利用YOLOV5实现手语识别
- java一元多项式减法运算_一元多项式的表示及加减乘除运算
- 图像质量评价学习笔记02:IQA模型性能评价指标(PLCC、SROCC、KROCC、RMSE)