我在“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'
错误是什么意思?该文件位于目录中,并且可以通过代码访问,为什么不是系统?
答案 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())