在业务流程中有些时候需要处理大量文件,当这些文件是从不同渠道transfer过来的时候文件名往往千奇百怪,不利于后续的操作,因此就有了批量给文件改名的需要。针对这种需要,从DOS时代其实就有了,后来有了批处理BAT,就提供了批量文件改名的scripts,包括其他一些程序语言包括VB, C,Java, C#等等都有处理这种需要的功能,而Python当然也不例外,利用os标准类库就可以实现这种功能。
处理逻辑其实蛮简单,首先选择读取到所有需要处理的文件(利用文件路径和后缀名,文件名中包含某些文字等),然后根据自定义的规则给这些文件改名,so easy!
直接上代码:
#author: hanshiqiang365
import os
class FileRename():
def __init__(self):
self.path = 'files'
def rename(self):
filelist = os.listdir(self.path)
total_num = len(filelist)
i = 0
for item in filelist:
if item.endswith('.txt'):
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
print('total %d to rename & converted %d files' % (total_num, i))
if __name__ == '__main__':
newname = FileRename()
newname.rename()
程序运行结束后,查看文件夹下一堆很规整的文件:
这个案例很简单,但实用。在处理大量文件的时候,利用这种处理逻辑就可以实现批量文件处理的业务功能需求。特别是Python在人工智能,OCR,数据分析等方面的优势,两者结合起来就可以实现很多以大批量文件为input的业务流程自动化,从而构建E2E的技术解决方案。