【Python】批量文件的编辑
来源:互联网 发布:spss怎么导入excel数据 编辑:程序博客网 时间:2024/05/17 08:39
【Python】批量文件的编辑
开门见山,先上个图:左边框是要编辑的批量.pts文件,中间框是每个.pts文件的内容格式,下面框是用matlab加载失败的提示。
这是最近在做人脸对齐的时候遇到的一个问题:300W数据集中的大量.pts文件的读取问题,由于自己试过用matlab来加载.pts文件,然而并没有成功,手动删除又因为.pts文件确实太多,慢慢修改太难,目前想到一个办法就是删除这几行,然后直接用matlab直接加载数据,供后期训练使用。
【这是我找到的解决这个问题的方法,若哪位大神有其它解决方案,还望不吝赐教,先在此谢过!!!】
1:同一个文件夹下批量文件的类型修改
批量修改文件的类型,代码很简单【注意缩进】,如下:
import osfor file in os.listdir("."): if os.path.splitext(file)[1] == ".jpg": os.rename(file, os.path.splitext(file)[1]+".png")
注意:
(1)将这个.py文件保存到你要修改的文件的同一目录下运行;
(2)这里是将所有的.jpg文件转换成.png文件,名称保持不变。如果要将.pts转换成.txt,只需要将第三四行相应的位置换了就好,即:.jpg换为.pts,.png换为.txt。
2:同一个文件夹下批量文件的重命名
批量修改文件的类型,代码很简单【注意缩进】,如下:
import osi=1for file in os.listdir("."): if os.path.splitext(file)[1] == ".jpg":i=i+1os.rename(file, str(i)+".png")
注意:
(1)将这个.py文件保存到你要修改的文件的同一目录下运行;
(2)这里是将所有的.jpg文件转换成.png文件,名称按照读取的顺序依次为 “1.png” “2.png” 等,如果你要变成其它名字,只需要将str(i)修改为你想要的名称就可以了。
3:删除单个文件的某几行
删除单个文件的某一些行,代码不复杂【注意缩进】,如下:
NumofLines=[1,2,3,72] #是指要删除的行,即:第1,2,3,72行。i=1 openFileHandle=open('0.pts','r') #读取待修改的文件writeFileHandle=open('Temp','w') #临时文件while 1: line=openFileHandle.readline() #读取待修改文件的行 if line: if i in NumofLines: #判断当前行数是否为要删除的行数,如果是,则不复制 i=i+1 continue else: i=i+1 writeLine='%s'%line #不是要删除的行就直接复制,写入临时文件 writeFileHandle.write(writeLine) else: breakopenFileHandle.close()writeFileHandle.close()#os.remove('0.pts') #如果要删除修改之前的文件,只需要加上这一句话就好os.rename('Temp','0.txt')print "Finish!"
注意:
(1)将这个.py文件保存到你要修改的文件的同一目录下运行;
(2)这里是删除了源文件0.pts中的第1,2,3,72行,并保存为0.txt文件。
4:删除批量文件相同的行
不再赘述,将上面的组装起来就好了【注意缩进】。亲测有效,如有编辑错误之处,还望指出,多谢。
import osNumofLines=[1,2,3,72] j=0k=1for file in os.listdir("."): if os.path.splitext(file)[1] == ".pts": j=j+1 k=1 openFileHandle=open(file,'r') writeFileHandle=open('Temp','w') while 1: line=openFileHandle.readline() if line: if k in NumofLines: k=k+1 continue else: k=k+1 writeLine='%s'%line writeFileHandle.write(writeLine) else: break openFileHandle.close() writeFileHandle.close() os.remove(file) os.rename('Temp', os.path.splitext(file)[0]+".txt" )
PS:就如何加载上述格式的.pts文件问题,若有其它解决方案,望不吝赐教。
2 0
- 【Python】批量文件的编辑
- 利用 python 的 ElementTree 编辑 XML 文件
- 使用python批量修改文件的后缀
- 【python】批量解压(.bz2)的文件
- python批量重命名文件
- 批量重命名文件 Python
- python批量重命名文件
- python批量删除文件
- python批量删除文件
- Python 批量修改文件
- Python 批量下载文件
- python批量修改文件
- python 批量下载文件
- python批量重命名文件
- python批量重命名文件
- python 批量重命名文件
- Python批量文件重命名
- Python 批量处理文件
- spriingmvc(三)关联到controller
- String.Join方法
- Swing JTable 自定义上下左右回车键盘事件
- 比较大小
- linux下mysql基本的操作
- 【Python】批量文件的编辑
- Springmvc(四)各种方法的汇总
- R语言︱文本挖掘套餐包之——XML+SnowballC+tm包
- CQUOJ C. 彩虹糖
- Scala进阶
- springmvc(五)集成阿里 druid数据库连接池和事务等配置,集成mybatis
- [Java]常用的内存区域
- 关于新手语言一些想法(本人也是小白)
- CQUOJ D. 会做题的兔兔