Python 按要求修改檔名

2022-01-30 00:57:32 字數 1444 閱讀 8767

目錄在d:\files下有以下檔案,如下圖:

要求

實現後的結果如下:

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

python修改檔名

如果用bat寫,實在煩人,本人尤其討厭bat那套寫法,感覺完全是亂碼,寫個小指令碼實現把所有目錄下以 cc的字尾名的檔案全部更改為 c型別,當然如果是其它型別,一樣地處理 只需把filetype filetype 1 按所需處理 即可。coding utf 8 import os import re...

python批量修改檔名

修改前 flv檔案是從rar檔案中解壓出來的。由於英文不好,並且有的flv檔案的名字並不十分清晰明了,所以打算將flv檔案名字改為相應的rar檔案的名字。僅供參考,新手勿噴 主要使用了python中的re 正規表示式 和os模組中的函式。coding gb2312 import os import ...

python批量修改檔名

最近工作需要給大量檔案改名。恰巧,本人又在自學python,所以就想用python寫個程式來自動修改相應的檔名。下面就通過 來介紹一下我的做法吧。先說一下,我的工作要求是,在所有的資料檔案前加上資料所在資料夾的名字,改完名字後把所有的檔案彙總到乙個新的資料夾。我要處理的檔案有的存放在次最後層目錄 有...