簡體   English   中英

更改目錄中文件的名稱: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 ,應該可以毫無問題地找到它。

還要注意,您可以使用osgetcwd()函數查看當前的工作目錄。

import os

print(os.getcwd())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM