# -*- 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个小功能(文件内容的匹配替换)的更多相关文章

  1. Python批量修改Excel中的文件内容

    import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None):    return os.path.join ...

  2. Python跳过第一行读取文件内容

    Python编程时,经常需要跳过第一行读取文件内容.比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作.相应的Python代码如下: inpu ...

  3. windows7搜索python java go php等其他文件内容

    1.添加文件内容搜索配置 2.将需要搜索的文件索引,添加至windows索引 控制面板->索引选项->高级->文件类型 把需要搜索的文件添加一下索引 3.如果不行的话,那么还是在索引 ...

  4. linux几种常见的文件内容查找和替换命令

    作为一个以前没怎么接触过linux的小白,开始使用linux,各种不习惯,这周遇到一个文件内容测查找和替换的需求.学习了以下几种实现方式: 1.vi命令下的查找和替换 1.1 vi下的查找 /patt ...

  5. python的N个小功能(更新文件)

    ########################################################################## #对于第二份文件:第一份与第二份不相同,以第二份为 ...

  6. python web开发-flask读取txt文件内容

    某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...

  7. python的N个小功能(找到要爬取的验证码链接,并大量下载验证码样本)

    # -*- coding: utf-8 -*- """ Created on Mon Mar 21 11:04:54 2017 @author: sl "&qu ...

  8. python的N个小功能(连接数据库并下载相应位置的图片)

    #################################################################################################### ...

  9. python的N个小功能(找到符合要求的图片,重命名,改格式,缩放,进行随机分配)

    ########################################################################## 循环读取该目录下所有子目录和子文件 ####### ...

随机推荐

  1. PGP的原理与使用

    实验名称: PGP的原理与使用 姓名: 刘浩 20155307 任泓霖 20155319 班级: 1553 日期: 2017.10.16 一. 实验环境 Windows虚拟机下使用的是PKZIP2.0 ...

  2. C# JSON和对象之间互相转换

    1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数 Address ...

  3. swift3.0通过响应链获取当前试图的控制器

    func parentViewController() -> UIViewController? { let n = next while n != nil { let controller = ...

  4. day1 ORM

    ORM对象关系映射 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象 class Customer( ...

  5. CF 1083 A. The Fair Nut and the Best Path

    A. The Fair Nut and the Best Path https://codeforces.com/contest/1083/problem/A 题意: 在一棵树内找一条路径,使得从起点 ...

  6. python 布尔值 bool( ) 与逻辑运算符

    逻辑运算符 not and or 运算符优先级 not > and >or printer(x or y)  x为非零,则返回x,否则返回y print(1 or 2) print(3 o ...

  7. vue 3.0使用 BUG解决

    最近在做vue的项目,吊进了很多坑,这些坑很浅,但一旦掉进去了,不花点功夫还爬不出来.所以总结下,当做下笔记,持续更新 1.<router-link> 里加的事件没反应 错误代码: < ...

  8. python 内置模块(os)

    1.OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname")  改变当前脚本工作目录:相当于shell下cdos. ...

  9. Django之视图系统

    Django的View(视图) 一个视图函数(类),简称视图,是一个简单的python函数(类),它接受web请求并返回web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,或者 ...

  10. CentOS安装输入法及kDE桌面

    参考教程:https://jingyan.baidu.com/article/154b46317fdfce28ca8f419e.html