【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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM