目錄在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寫個程式來自動修改相應的檔名。下面就通過 來介紹一下我的做法吧。先說一下,我的工作要求是,在所有的資料檔案前加上資料所在資料夾的名字,改完名字後把所有的檔案彙總到乙個新的資料夾。我要處理的檔案有的存放在次最後層目錄 有...