【Python】按要求修改文件名

1.需求描述

D:Files下有以下文件,如下图:

要求

  • 将Logan开头的文件名全部修改为工作文档
  • 其他的文件名称全部添加前缀"工作文档_"

实现后的结果如下:

2.实现代码

# Author:Logan
# Date:2020/3/26  15:52
# IDE:PyCharm
import os

"""
info是一个元组tupple(dirpath, dirnames, filenames)
元组中的三个元素分别是:
dirpath -->> 代表目录的路径
dirnames -->> 包含了当前dirpath路径下所有的子目录名字(不包含目录路径)
filenames -->> 包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)
"""
path = 'D:File\'
def main():
    for info in os.walk(path):
        for file_name in info[2]:
            if file_name.count('Logan'):
                os.rename(path + file_name,path + '工作文档_' + file_name.split('_')[1])
            elif file_name.count('工作文档_'):
                pass
            else:
                os.rename(path + file_name, path + '工作文档_' + file_name)

if __name__ == '__main__':
    main()

上述代码虽然也能实现,但是有个问题,如果【其他】文件夹下有文件,也会被修改文件名,这显然不是我们所希望的,所以就有了listdir,只显示当前目录下的文件和文件夹名称。此处不再写函数,只是写了个简单案例说明用法:


import os
path = 'D:File\'
def main():
    for file in os.listdir(path):
        file_path = os.path.join(path,file)
        if os.path.isfile(file_path):
            print(file_path)
        elif os.path.isdir(file_path):
            print('目录:' + file_path)


if __name__ == '__main__':
    main()

原文地址:https://www.cnblogs.com/OliverQin/p/12575523.html