我正试图访问一个包含50个.wav文件样本的文件夹(我将用于我的性别语音分类(使用PCA(项目(,但我似乎无法正确访问该文件夹。文件夹当然是解压缩的。
包含文件示例的文件夹名为"SoundSamples",位于桌面上另一个名为"soundFile"的文件夹中。
我正在运行以下代码:
import os
raw_folder = '//Desktop//soundFile//SoundSamples//'
for file in os.listdir(raw_folder):
print(file)
filepath = os.path.join(raw_folder, file)
f = open(filepath, 'r')
print(f.read())
f.close()
我得到的输出是一个错误,说"没有这样的文件或目录://Desktop//soundFile//SoundSamples//'">
您无法从绝对路径/Desktop/..
开始访问Desktop文件夹的相对路径。作为一个普通用户,您的桌面文件夹存储在更深的地方——通常是/Users/(yourname)/Desktop
之类的地方。但不要硬编码,Python可以为您找到主文件夹!
import os
from os.path import expanduser
home = expanduser("~")
print home
raw_folder = home+'/Desktop/soundFile/SoundSamples'
for file in os.listdir(raw_folder):
print(file)
操作系统函数expanduser
定位主文件夹并将其作为字符串返回。然后,您可以粘贴到您要查找的任何文件夹上——Desktop
、Documents
或与您家相关的任何其他路径。
您的文件路径应该是:
桌面/soundFile/SoundSamples
(你不需要两个正向斜线(
假设您从主目录运行它,否则指定完整的文件路径:
/用户/your_username/Desktop/soundFile/SoundSamples
(其中your_username是您的用户名(
我还建议使用with open(file, 'r') as f:
方法读取或写入文件,因为Python会自动为您关闭
import os
raw_folder = 'Desktop/soundFile/SoundSamples'
for file in os.listdir(raw_folder):
print(file)
filepath = os.path.join(raw_folder, file)
with open(filepath, 'r') as f:
print(f.read())