![](/img/trans.png)
[英]Getting files in directory(directory has numbers in directory name)in python
[英]Change name of files in a directory: Python
我在目錄“數據集”中有.wav文件
import os
dataset_path = 'C:/dataset'
def change_filenames(dataset_path):
i = 0 # target filename
for old_name in os.listdir(dataset_path):
os.rename(old_name, str(i) + '.wav')
i+=1
change_filenames(dataset_path)
錯誤:FileNotFoundError:[WinError 2]系統找不到指定的文件:'sound1.wav'->'0.wav'
錯誤是什么意思? 該文件位於目錄中,並且可以通過代碼訪問,為什么不能使用系統?
正如Zerodf指出的,問題可能出在您當前的工作目錄與您指定的dataset_path
目錄不同。 因此,當os.rename
重命名sound1.wav
,它將在您當前的工作目錄(可能與dataset_path
)中查找它,找不到它並拋出該錯誤。
由於您的dataset_path
變量包含絕對路徑,因此您可以使用os.path.join()將每個文件名添加到dataset_path
上,從而確保os.rename
嘗試重命名的所有內容都是絕對路徑。 也就是說,改變
os.rename(old_name, str(i) + '.wav')
至
os.rename(os.path.join(dataset_path, old_name), os.path.join(dataset_path, str(i) + '.wav'))
然后,當os.rename
重命名sound1.wav
,它將查找C:/dataset/sound1.wav
,應該可以毫無問題地找到它。
還要注意,您可以使用os
的getcwd()
函數查看當前的工作目錄。
import os
print(os.getcwd())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.