Python 資料夾重新命名的兩種方法

2021-09-24 12:14:13 字數 4424 閱讀 9126

方法二(os.walk):

使用此種方法會將父資料夾下的所有檔案(無**件還是資料夾)一起重新命名,再下一級的檔案不受影響。

比如,我們需要在test2資料夾下,將子檔案(無**件還是資料夾)批量加上字首「test-」。

執行成功會有提示(我這裡用的是vscode,大家也可以用其他工具):

就可以看到子檔案都已經加上字首了:

python**如下:

import os,sys                       #匯入模組

defadd_prefix_subfolders()

:#定義函式名稱

mark =

'test-'

#準備新增的字首內容

old_names = os.listdir( path )

#取路徑下的檔名,生成列表

for old_name in old_names:

#遍歷列表下的檔名

if old_name!= sys.ar**[0]

:#**本身檔案路徑,防止指令碼檔案放在path路徑下時,被一起重新命名

os.rename(os.path.join(path,old_name)

,os.path.join(path,mark+old_name)

)#子資料夾重新命名

print

(old_name,

"has been renamed successfully! new name is: "

,mark+old_name)

if __name__ ==

'__main__'

: path = r'e:\我的學習\程式設計\python\pythontest2\test2'

#執行程式前,記得修改主資料夾路徑!

add_prefix_subfolders(

)#呼叫定義的函式

加字尾一樣的道理,在os.rename那裡,把mark+old_name換成old_name+mark。

自己使用時記得一要修改路徑,二要修改字首/字尾的內容。

import os,sys                       #匯入模組

defrename_subfolders()

:#定義函式名稱

old_names = os.listdir( path )

#取路徑下的檔名,生成列表

for old_name in old_names:

#遍歷列表下的檔名

if old_name!= sys.ar**[0]

:#**本身檔案路徑,防止指令碼檔案放在path路徑下時,被一起重新命名

new_name=old_name.replace(

'test-'

,'test2-'

)#將原來名字裡的『test』替換為『test2』

os.rename(os.path.join(path,old_name)

,os.path.join(path,new_name)

)#子資料夾重新命名

print

(old_name,

"has been renamed successfully! new name is: "

,new_name)

#輸出提示

if __name__ ==

'__main__'

: path = r'e:\我的學習\程式設計\python\pythontest2\test2'

#執行程式前,記得修改主資料夾路徑!

rename_subfolders(

)#呼叫定義的函式,注意名稱與定義的函式名一致

同樣,記得修改路徑,需要替換的內容

在os.walk的方法下,可以從父資料夾路徑下,只取得子資料夾進行操作。適用于父資料夾下同時存在子資料夾和子檔案,但只想對子資料夾進行重新命名操作的情況。

比如,我們需要在test2資料夾下,將只針對子資料夾批量加上字首「test-」。

執行成功後有提示幾個資料夾已經被重新命名:

python **如下:

import os,sys                       #匯入模組

defadd_prefix_subfolders()

:#定義函式名稱

mark =

'test-'

#準備新增的字首內容

for foldname, subfolders, filenames in os.walk(path)

:#用os.walk方法取得path路徑下的資料夾路徑,子資料夾名,所有檔名

for subfolder in subfolders:

#遍歷列表下的子資料夾名

os.rename(os.path.join(foldname,subfolder)

,os.path.join(path,mark+subfolder)

)#子資料夾重新命名

print

(subfolder,

"has been renamed successfully! new name is: "

,mark+subfolder)

#輸出提示

if __name__ ==

'__main__'

: path = r'e:\我的學習\程式設計\python\pythontest2\test2'

#執行程式前,記得修改主資料夾路徑!

add_prefix_subfolders(

)#呼叫定義的函式,注意名稱與定義的函式名一致

加字尾一樣的道理,在os.rename那裡,把mark+old_name換成old_name+mark。

自己使用時記得一要修改路徑,二要修改字首/字尾的內容。

如果要把檔名從test替換為test2

python **如下:

import os,sys                       #匯入模組

defrename_subfolders()

:#定義函式名稱

for foldname, subfolders, filenames in os.walk(path)

:#用os.walk方法取得path路徑下的資料夾路徑,子資料夾名,所有檔名

for subfolder in subfolders:

#遍歷列表下的子資料夾名

new_name=subfolder.replace(

'test-'

,'test2-'

)#將原來名字裡的『test』替換為『test2』

os.rename(os.path.join(foldname,subfolder)

,os.path.join(path,new_name)

)#子資料夾重新命名

print

(subfolder,

"has been renamed successfully! new name is: "

,new_name)

#輸出提示

if __name__ ==

'__main__'

: path = r'e:\我的學習\程式設計\python\pythontest2\test2'

#執行程式前,記得修改主資料夾路徑!

rename_subfolders(

)#呼叫定義的函式,注意名稱與定義的函式名一致

同樣,記得修改路徑,需要替換的內容

cmd ren命令 重新命名檔案(夾)

ren 的用法很簡單,其使用格式為 ren 舊檔案 新檔名。例如,把test.txt改寫為abc.txt,使用 ren test.txt abc.txt即可。需要注意的是,舊檔案可以使用絕對路徑,也可以使用相對路徑,但是,新檔名不能使用任何路徑,只能是新的檔名,即使這個路徑就是當前目錄。例如 需要修...

python刪除資料夾的兩種方式

os提供的rmdir 函式和removedirs 函式只能刪除空資料夾,這裡提供兩種方法,能夠刪除整個資料夾 import os defdelete dir root dirlist os.listdir root 返回dir資料夾裡的所有檔案列表 for f in dirlist filepath...

linux複製資料夾 重新命名資料夾 刪除資料夾

linux中複製命令為cp 即copy縮寫 重新命名使用mv命令 即move縮寫 來實現,刪除命令為rm 即remove縮寫 如果操作物件是單個檔案,複製和刪除以及重新命名很簡單,如下 cp a.txt a.txt 將a.txt另存為a.txt mv a.txt a.txt 將a.txt重新命名為a...