更改目录中文件的名称:Python
我在“dataset”目录中有.wav文件 错误:FileNotFoundError:[WinError 2]系统找不到指定的文件:“sound1.wav”->“0.wav”更改目录中文件的名称:Python,python,python-3.x,python-os,Python,Python 3.x,Python Os,我在“dataset”目录中有.wav文件 错误:FileNotFoundError:[WinError 2]系统找不到指定的文件:“sound1.wav”->“0.wav” 错误是什么意思?文件位于目录中,代码可以访问,为什么不使用系统?正如Zerodf指出的,问题可能是您当前的工作目录与您指定的数据集路径目录不同。因此,当os.rename转到重命名sound1.wav时,它会在当前工作目录中查找它(可能与dataset\u path不同),找不到它,并抛出该错误 由于dataset\u p
错误是什么意思?文件位于目录中,代码可以访问,为什么不使用系统?正如Zerodf指出的,问题可能是您当前的工作目录与您指定的
数据集路径
目录不同。因此,当os.rename
转到重命名sound1.wav
时,它会在当前工作目录中查找它(可能与dataset\u path
不同),找不到它,并抛出该错误
由于dataset\u path
变量包含一个绝对路径,因此可以使用os.path.join()将每个文件名固定到dataset\u path
上,从而确保os.rename
尝试重命名的所有内容都是绝对路径。也就是说,改变
os.rename(old_name, str(i) + '.wav')
到
然后,当os.rename
转到renamesound1.wav
时,它将查找C:/dataset/sound1.wav
,它应该可以毫无问题地找到它
还请注意,您可以使用os
中的getcwd()
函数查看当前的工作目录
import os
print(os.getcwd())
您尝试了绝对路径吗?添加到@ BIPUL点,也考虑您当前的工作目录(当有疑问时总是使用完整路径)。使用<代码> OS.Posi.No.(…)>代码>代替文件路径的字符串连接更安全。@ NoSnkkWh Aha,谢谢。我试图记住那是什么命令。更新答案。对于那些不知道的人,os.path.join()使用系统的默认目录分隔符(“/”或“\\”等)将文件路径的两部分连接在一起。
os.rename(os.path.join(dataset_path, old_name), os.path.join(dataset_path, str(i) + '.wav'))
import os
print(os.getcwd())