python的N个小功能(文件内容的匹配替换)
# -*- coding: utf-8 -*-
"""
Created on Fri Feb 17 20:25:05 2017
@author: who
"""
import os
import os.path
import re
import string
rootdir=r'D:\test'
for parent, dirnames, filenames in os.walk(rootdir): # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
try:
for filename in filenames:
filenamepre=os.path.splitext(filename.decode("gbk"))[0];#文件名前缀
filetype=os.path.splitext(filename.decode("gbk"))[1].lower();#文件扩展名
pswpath = os.path.join(parent, filename.decode("gbk"));
tmppath = os.path.join(r'D:\testxx',filename.decode("gbk")) #写到另一个文件夹#
if filetype=='.txt':
a=string.find(filenamepre,'9999') ####符合类型的文件####
if a==0:
tmp_file = open(tmppath, "w")
with open(pswpath) as f:
lines = f.readlines()
for line in lines: ####一行一行读取 ####
if line.find('aaa') > -1: ####找到含aaa有的这行,匹配出对应整数数字####
m=re.compile('aaa([0-9]+)')
ms=m.search(line)
print ms.group(1)
line.replace(ms.group(1),filenamepre) ####进行替换
tmp_file.write(line.replace(ms.group(1),filenamepre)) ###写出替换的该行
else:
tmp_file.write(line)
tmp_file.close()
else:
tmp_file = open(tmppath, "w")
with open(pswpath) as f:
lines = f.readlines()
for line in lines: ####一行一行读取 ####
tmp_file.write(line)
tmp_file.close()
except IOError:
pass
python的N个小功能(文件内容的匹配替换)的更多相关文章
- Python批量修改Excel中的文件内容
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
- Python跳过第一行读取文件内容
Python编程时,经常需要跳过第一行读取文件内容.比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作.相应的Python代码如下: inpu ...
- windows7搜索python java go php等其他文件内容
1.添加文件内容搜索配置 2.将需要搜索的文件索引,添加至windows索引 控制面板->索引选项->高级->文件类型 把需要搜索的文件添加一下索引 3.如果不行的话,那么还是在索引 ...
- linux几种常见的文件内容查找和替换命令
作为一个以前没怎么接触过linux的小白,开始使用linux,各种不习惯,这周遇到一个文件内容测查找和替换的需求.学习了以下几种实现方式: 1.vi命令下的查找和替换 1.1 vi下的查找 /patt ...
- python的N个小功能(更新文件)
########################################################################## #对于第二份文件:第一份与第二份不相同,以第二份为 ...
- python web开发-flask读取txt文件内容
某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...
- python的N个小功能(找到要爬取的验证码链接,并大量下载验证码样本)
# -*- coding: utf-8 -*- """ Created on Mon Mar 21 11:04:54 2017 @author: sl "&qu ...
- python的N个小功能(连接数据库并下载相应位置的图片)
#################################################################################################### ...
- python的N个小功能(找到符合要求的图片,重命名,改格式,缩放,进行随机分配)
########################################################################## 循环读取该目录下所有子目录和子文件 ####### ...
随机推荐
- WPF 带水印的密码输入框实现
原文:WPF 带水印的密码输入框实现 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/835055 ...
- KDTable如何添加合计行?
/** * 功能:添加合计行 * * @param table * 指定的KDTable * @param fields * 需要合计的列 */ public static void apendFoo ...
- Zabbix学习之路(二)之添加主机监控及自定义item监控
1.zabbix_get命令详解 安装zabbix-get命令 [root@linux-node1 ~]# yum install -y zabbix_get 参数说明: -s --host: 指定客 ...
- pyhon3.0 day01 变量、输入、输出、循环
pyhon3.0 基础01 1 python解释器 Python的解释器很多,但使用最广泛的还是CPython.如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython, ...
- 用php实现简单的自制计算器
存档: <!DOCTYPE html> <html> <head> <title>PHP实现计算器</title> </head> ...
- 利用工厂模式实现serviec层和dao层解耦
利用工厂模式实现serveice和dao层的解耦,这样就可以不用在service层实例化dao层的对象,当dao层代码发生改变的时候(数据库实现发生改变)直接修改配置文件就不用改变service层的代 ...
- Jmeter直连postgresql数据库进行压测
关于Jmeter直连数据库进行压测,网上有好多教程了,pg数据库的相对少一些,今天自己测试了下,还是挺简单的,有个别需要注意的地方.相较于Loadrunner这么全面庞大的压测工具,Jmeter在数据 ...
- java获取IP地址
最近在一个多系统集成的项目中,由于跳转路径含IP地址,每次IP改了重启项目都得改好多地方,甚是麻烦.刚在网上了解到java获取IP地址,给大家分享下: 首先要导入jar包 request.getRem ...
- python-__getattr__ 和 __getattribute__
python3完全使用了新式类,废弃了旧式类,getattribute作为新式类的一个特性有非常奇妙的作用.查看一些博客和文章后,发现想要彻底理解getattr和getattribute的区别,实际上 ...
- python-property、__get__、__set__
目录 property __set__ 和 __get__ property property装饰器的应用来自这样一个问题:如果对实例的属性值不加以限制,那么实例的属性值会出现明显不合理的情况,为了解 ...