python - 无法从“ffprobe”导入名称“FFProbe”
问题描述
背景:
我有以下代码,它应该导航到mp3files
我的 mac 上的目录,然后将所有.mp3
文件转换为.wav
文件。
代码:
import os
from pydub import AudioSegment
from ffprobe import FFProbe
path = "/Users/my_username/Documents/uc_davis/Homework_Repos/classify-spotify/william/mp3files"
os.chdir(path)
audio_files = os.listdir()
for file in audio_files:
name, ext = os.path.splitext(file)
if ext == ".mp3":
mp3_sound = AudioSegment.from_mp3(file)
mp3_sound.export("{0}.wav".format(name), format="wav")
问题:
在 Jupyter Lab 中运行此代码后,我得到了ImportError: cannot import name 'FFProbe' from 'ffprobe' (/Users/my_username/anaconda3/envs/my_environment_name/lib/python3.7/site-packages/ffprobe/__init__.py)
我尝试过的内容:
我已仔细检查我是否安装了正确的依赖项,并且 ImportError 引用的目录中确实包含正确的文件。
有没有人有任何建议我做错了什么?
解决方案
我曾经遇到过这个确切的问题,我去了:/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/,其中包含ffprobe.py
(其中有FFProbe和东西)和__init__.py
(其中有from ffprobe import FFProbe
在里面)
简短版:基本上我通过添加括号将print x
里面ffprobe.py
的语句更改为语句,并将语句更改为print(x)
from ffprobe import FFProbe
from .ffprobe import FFProbe
加长版:我拖拽ffmpeg.py
进去修改__init__.py
,逐渐修改到匹配ffprobe.py
,直到发现问题。我注意到 ffmpeg 文件的初始化包含句点,所以我复制了它,然后开始在打印语句周围收到错误消息并修复这些错误消息。这是一张图片,左边是新的,中间是初始化的,右边是旧的,如果它有帮助的话......
推荐阅读
- ms-access - SQL查询,找出数据集的最小值
- java - 返回的 int 始终为零 + 如何在子方法中使用 Main 方法中的对象
- ruby - 出现错误 - “不能一起使用 (ArgumentError)”Ruby
- pdfclown - PDFClown 复制注释然后操作它们
- objective-c - 如何让 Xcode 识别 Objective-C 命令以连接到 Firebase?
- angular - Angular 5 + HttpClient 不会在 GET 上发送标头
- date - 在一天中的不同时间安排多个功能
- powershell - 如何通过 powershell 处理 Active Directory 异常?
- algorithm - 以最类似于基于 PQ 的排序方式进行的算法
- vba - VBA 对于每个 - 循环顺序