python批量修改文件名(OS包)

1、OS常用功能

import os

# 查看当前路径
print(os.getcwd())
print('当前的工作路径:{}'.format(os.getcwd()))

# 创建文件夹测试,相对路径
os.mkdir('测试')

# 返回绝对路径
result = os.path.abspath('./测试')
print(result)

# 判断是否存在这个文件夹
print(os.path.isdir('./测试'))
print(os.path.isfile('./test01.ipynb'))

# 拆分文件名和后缀
os.path.splitext('test01.ipynb')

# 判断文件路径是否存在
os.path.exists('D:\python')

# 文件夹创建的时间
ctime = os.path.getctime('D:\\工作文档\\03-数据分析分享\\测试')
# 关于文件夹路径,可能会被识别出正则表达式,可以用\\ 也可以直接改成/

# 时间转换
import time
timearr = time.localtime(ctime)
time.strftime('%Y-%m-%d %H%M%S',timearr)

# 读取文件夹中的文件名
print(os.listdir())
print(os.listdir('D:\工作文档\\03-数据分析\excel文件夹\测试'))

# 修改文件名字
oldpath = os.path.join('D:\工作文档\\03-数据分析\excel文件夹\测试','11.txt')
newpath = os.path.join('D:\工作文档\\03-数据分析\excel文件夹\测试','11-xin.txt')
print(os.rename(oldpath, newpath))

2、批量修改文件名

基本步骤:

1)打开文件夹

2)判断对应的文件夹中是否只有文件

3)除去文件夹,一个一个读取文件的名称

4)一个一个修改文件的名称

可能还有步骤0:查看路径是否存在

# 案例:在所有的测试文件夹的名称后缀都加上new
# 实现方法:定义一个函数,输入文件路径和需要加上的文字,就可以直接加上指定的文字
def filename_modify(target_dir, addstr = ' '):
    # 判断路径是否存在
    if os.path.exists(target_dir) == False:
        raise Exception('path is not exist')
#     pass

    # 遍历文件夹中的文件名
    for file in os.listdir(target_dir):
        # f分割文件名和拓展名
        filename = os.path.splitext(file)[0]
        fileExpand = os.path.splitext(file)[1]
#         print(filename, fileExpand)
        
        # 判断是否有文件夹,如果有文件夹就不修改:
#         if os.path.isdir(os.path.join(target_dir, file)):
#             continue
        if fileExpand == '':
            continue
        
        newname = filename + addstr + fileExpand
#         print(newname)
        
        # 修改文件名
        oldpath = os.path.join(target_dir, file)
        newpath = os.path.join(target_dir, newname)
        os.rename(oldpath, newpath)

filename_modify('D:\工作文档\\03-数据分析\excel文件夹\测试',addstr = 'new')

 

posted @ 2020-11-26 19:12  啊呀啊呀静  阅读(205)  评论(0)    收藏  举报