【问题标题】:Accessing a folder containing .wav files [closed]访问包含 .wav 文件的文件夹 [关闭]
【发布时间】:2018-10-30 15:25:34
【问题描述】:

我正在尝试访问包含 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//'”

【问题讨论】:

  • 您是否尝试过使用完整路径? C:/Users/yourUser/Desktop/soundFile/SoundSamples
  • '//Desktop//soundFile//SoundSamples//' 不是有效路径。
  • 考虑:os.path.abspath("Desktop") != os.path.abspath("//Desktop").
  • os.listdir() 中的文件夹应该是当前工作目录的绝对路径或相对(子)文件夹。也不需要转义正斜杠。您可能正在寻找C:/Users/yourusername/Desktop/soundFile/SoundSamples(显然,将您的用户名替换为您的实际用户名)。
  • 你需要整个目录,如果你使用的是操作系统,你可以使用 fsenconde 之类的东西 deirectory= os.fsencode(r"C:\Users\YourUsernmae\Desktop\soundFile\SoundSamples)

标签: python python-3.x


【解决方案1】:

您无法以绝对路径/Desktop/..开头来访问桌面文件夹的相对路径。作为普通用户,您的桌面文件夹存储在更深的地方——通常是/Users/<em>(yourname)</em>/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 定位您的主文件夹并将其作为字符串返回。然后,您可以粘贴到您要查找的任何文件夹——DesktopDocuments 或任何其他与您家相关的路径。

【讨论】:

    【解决方案2】:

    你的文件路径应该是:

    桌面/声音文件/SoundSamples

    (你不需要双斜杠)

    假设您是从主目录运行它,否则请指定完整的文件路径:

    /Users/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())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多