方法二(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...