python批量修改文件名

我有一个目录下有很多文件,但是文件的命名比较混乱,一个一个改有比较麻烦,所以我就写了一个python脚本来做批量更改。

# coding: utf-8

'''
import os
num = 0
for file in os.listdir('raw_data/'):    #os.listdir('.')遍历文件夹内的每个文件名,并返回一个包含文件名的list
    if file[0:9] != 'raw_data_':
        print (file)
        continue   #只更改raw_data_
    name = file.replace(' ', '')   #去掉空格
    new_name = name[0: 9] + str(num)   #选择名字中需要保留的部分
    os.rename(file, new_name)
    num = num + 1
'''

import os
import fnmatch

directory = "raw_data"
num = 0
for file in os.listdir(directory):
    if fnmatch.fnmatch(file, 'raw_data_*'):
        path = os.path.join(directory, file)
        target = os.path.join(directory, file[0:9]) + str(num)
        os.rename(path, target)
        num = num + 1

上面那个被注释掉的是我在晚上找到的一个程序,但是会报错提示找不到改名之后的文件。所以我又改成了没有注释的那个样子,成功。

你可能感兴趣的:(⭐️python基础知识)