更改目录中文件的名称:Python

时间:2017-12-19 19:29:27

标签: python python-3.x python-os

我在“dataset”目录中有.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'

错误是什么意思?该文件位于目录中,并且可以通过代码访问,为什么不是系统?

1 个答案:

答案 0 :(得分:2)

正如Zerodf指出的那样,问题可能是您当前的工作目录与您指定的dataset_path目录不同。因此,当os.rename转到重命名sound1.wav时,它会在您当前的工作目录中找到它(可能与dataset_path不同),找不到它,并抛出该错误

由于您的dataset_path变量包含绝对路径,因此您可以通过使用os.path将每个文件名添加到os.rename来确保dataset_path尝试重命名的所有内容都是绝对路径。加入()。也就是说,改变

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,它应该没有问题。

另请注意,您可以使用getcwd()中的os功能查看当前工作目录的内容。

import os

print(os.getcwd())