如何使用python自动化处理文件?
大多数小伙伴应该和小编一样小时候,经常会考虑能研究出来一个机器人,帮助我写作业,做一些不想做的事情,后来随着年纪的增长,大家可能大多渐渐遗忘了,但是目前在学习python的你们,有没有了解过,使用Python可以自动化处理文件的内容呢?虽然机器人没有实现,但是利用语言就可以满足我们的需求啦~不清楚的赶紧来看下吧~
一. 列出文件夹下的所有文件
l 用到的库os
l 使用os.walk()用法
代码如下:
import os list_all=[]#初始化一个空列表 for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'): for name in files: file_path=os.path.join(root,name)#包含路径的文件 file_name=os.path.split(file_path)[-1] list_all.append(file_name) print(list_all)
二. 使用正则re修改文件名
import os import re #首先定义规则,如我们需要把所有的图片名提取出来并修改名字 pattern=re.compile(r'.+.png') i=1 for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'): for name in files: file_path=os.path.join(root,name)#包含路径的文件名 matching=pattern.search(file_path)#匹配图片 if matching: os.rename(file_path,os.path.split(file_path)[-2]+ '/{}.png'.format(i)) i+=1 print('修改成功')
三. 批量删除文件
算例:我们将原始文件夹下的PDF复制到新的文件夹:D:自动化测试1
首先 D:自动化测试1 ,需要手动新建
import os import re #首先定义规则,如我们需要把所有的pdf文件 pattern=re.compile(r'.+.pdf') for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'): for name in files: file_path=os.path.join(root,name)#包含路径的文件 print(file_path) matching=pattern.search(file_path)#匹配pdf if matching: command_line='copy %s D:自动化测试1' % file_path.replace('/','') os.system(command_line) print('复制成功')
好啦,以上就是关于自动化处理文件的全部内容了,比起手动,自动化真的是便捷我们的生活,减少人力成本,大家最常使用办公软件,因此,如果想大大提高工作效率,一定要好好掌握哦~
来源:PY学习网:原文地址:https://www.py.cn/article.html