Python 复制文件并重命名
生活随笔
收集整理的這篇文章主要介紹了
Python 复制文件并重命名
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 在同一文件夾下復制并重命名
- 復制文件到新路徑下
在同一文件夾下復制并重命名
比如,想在把Test2文件夾下,所有子文件夾(諸如001、002、003)下的txt文件復制一份,并重命名為原名+_new
運行后,提示有三個文件被復制并重命名(我這里用的是VSCode,大家也可以用其他工具):
來檢驗下結果:
沒有動外面的這一個文件,代碼里把它排除掉了
子文件夾下的所有txt文件都被復制并重命名了:
python 代碼如下:
import os,shutil #導入模塊 def copy_files(): #定義函數名稱for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路徑下的文件夾路徑,子文件夾名,所有文件名for filename in filenames: #遍歷列表下的所有文件名if filename!= r'001.txt': #當文件名不為“001.txt”時if filename.endswith('.txt'): #當文件名以.txt后綴結尾時new_name=filename.replace('.txt','_new.txt') #為文件賦予新名字shutil.copyfile(os.path.join(foldName,filename), os.path.join(foldName,new_name)) #復制并重命名文件print(filename,"copied as",new_name) #輸出提示if __name__ == '__main__': path = r'E:\我的學習\編程\Python\PythonTest2\Test2' #運行程序前,記得修改主文件夾路徑!copy_files() #調用定義的函數,注意名稱與定義的函數名一致記得修改路徑。要是在同一路徑下復制了,不重命名,會報錯。
復制文件到新路徑下
如果想要復制父文件下的所有txt文件到新路徑下。
比如現在Test2父文件夾下有三個子文件夾,每個子文件下都有txt文件。
我們想把所有txt文件復制到新文件new_Test2下:
運行成功提示有三個文件被復制(我這里用的是VSCode,大家也可以用其他工具):
再來看新文件下,就已經有這三個文件了:
python 代碼如下:
import os,shutil #導入模塊 def copy_files(): #定義函數名稱for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路徑下的文件夾路徑,子文件夾名,所有文件名for filename in filenames: #遍歷列表下的所有文件名if filename.endswith('.txt'): #當文件名以.txt后綴結尾時new_name=filename.replace('.txt','_new.txt') #為文件賦予新名字shutil.copyfile(os.path.join(foldName,filename), os.path.join(path2,new_name)) #復制到新路徑下,并重命名文件print(filename,"copied as",new_name) #輸出提示if __name__ == '__main__': path = r'E:\我的學習\編程\Python\PythonTest2\Test2' #運行程序前,記得修改主文件夾路徑!path2 =r'E:\我的學習\編程\Python\PythonTest2\new_Test2' #存放文件的新路徑,不要放在原路徑下,不然會多復制兩份copy_files() #調用定義的函數,注意名稱與定義的函數名一致注意修改路徑,及重新命名的規則。新路徑最好是不要在原來的目錄下。
如果不想重命名文件,也沒關系,把shutil.copyfile里的new_name換成filename就行了。
總結
以上是生活随笔為你收集整理的Python 复制文件并重命名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2977 二叉堆练习1
- 下一篇: python批量修改文件名字为数字编号