從源目錄開始;以遞歸方式更改目錄中的文件名稱
< C:/用戶/公共/ env的防禦/項目/ 1_Earnings電話/季度收益電話/ 1_IOUs通過四分之一/ 2013 Q1/AAA完成/
有源目錄內多個子目錄;例如
< /用戶/公共/ env的國防/項目/ 1_Earnings電話/季度收益按季度電話/ 1_IOUs/2013 Q1/AAA完成/ AEP
/用戶/公共/ env的國防/項目/ 1_Earnings 2013年第一季度/第四季度的收益/ 1_IOU第一季度/ AAA完成/ Allete
在每個子目錄內有多個文件,
* 2013 Q1 AEP收入電話Transcript.txt
* 2013 Q1 AEP收入電話Transcript.txt
* 2013 Q1 ALLETE收入電話Transcript.docx
* 2013 Q1 AEP收入電話介紹.pdf'
我正在編寫一個腳本來遍歷子目錄並刪除一些常用詞。例如,我希望2013年第一季度AEP收益電話會議Transcript.txt將成爲2013年第一季度AEP.txt
我寫的腳本是; FileRename_V1.py
import os
cwd = os.getcwd()
print (' 1 Working Directory is %s' %cwd)
print (' ')
sourcedir = '/Users/Public/Env Defense/Projects/1_Earnings Calls/Quarterly Earnings Calls/1_IOUs by Quarter/2013 Q1/AAA Done'
os.chdir (sourcedir)
cwd = os.getcwd()
print (' 2 Working Directory is %s' %cwd)
print (' ')
for dirPath, subdirNames, fileList in os.walk (sourcedir):
for filename in fileList:
filename = os.path.join (dirPath, filename)
os.rename(filename,filename.replace("Earnings Call Transcript", ''))
結果是以下錯誤消息;
回溯(最近通話最後一個): 文件 「FileRename_V1.py」,第29行,在 os.rename(文件名,filename.replace( 「收入電話抄本」, ''))
FileNotFoundError :[WinError 2]系統找不到指定的文件: '/ Users/Public/Env Defense/Projects/1_Earnings Calls/Quarterly Earnings Calls/1_IOUs 2013/Quarter Q1/AAADONE \ 2013 Q1 AEP Earnings Call Presentation.pdf' - >
'/ Users/Public/Env Defense/Projects/1_Earnings Calls/Quarterly Earnings Calls/1_IOUs 2013年第一季度/ 2013年第一季度/ 2013年第一季度AEP收益電話Presentation.pdf'
我已經研究了遞歸重命名文件的代碼,並且我寫的代碼看起來類似於工作的示例。任何關於問題是什麼以及如何糾正腳本的建議都將非常感謝。
乾杯,BobS
不應該先通過所有文件,存儲所有需要重命名的文件,然後重命名它們中的每一個?重命名文件/目錄同時走他們聽起來有點棘手。 –
您在文件路徑中混合了正斜槓和反斜槓: '/ Users/Public/Env Defense/Projects/1_Earnings Calls/Quarterly Earnings Calls/1_IOUs by 2013/Q1 Q1/AAA DONE \ AEP Earnings Call Presentation.pdf' – Andrew
當os.rename遇到第一個子目錄中的第一個文件時,錯誤消息被拋出。 – RJS