python - 通配 rune 件名和 Pydub

标签 python glob pydub

任何人都可以向我解释如何修复此代码。如果我将 song 设置为等于完整文件路径,我的脚本运行不会出现任何问题。但是,问题是我并不总是知道该路径中 .mp3 文件的名称,因此我需要将该文件作为通配符指向。

from pydub import AudioSegment
import glob

my_song = glob.glob('/Users/usename/Google Drive/Developer/Voicemails/?.mp3')

song = AudioSegment.from_mp3(my_song)

song.export("/Users/username/Google Drive/Developer/Voicemails/voicemail1.flac", format="flac")

任何指针都会很棒!

最佳答案

要获取所有 MP3 文件,只需替换“?”路径中带有“*” 现在,当您使用 glob 时,它将返回一个文件列表,因此您必须循环遍历所有文件并执行您的操作(即使该目录中只有一个文件)。

例如这样的事情:

from pydub import AudioSegment
import glob,os


songs = glob.glob('/Users/usename/Google Drive/Developer/Voicemails/*.mp3')
for my_song in songs:
    song = AudioSegment.from_mp3(my_song)
    song.export(os.path.join ("/Users/username/Google Drive/Developer/Voicemails", os.path.basename(my_song) + ".flac"), format="flac")

祝你好运

关于python - 通配 rune 件名和 Pydub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574399/

相关文章:

javascript - 我想在 nodejs 的多个文件名中重命名特定字符串

python - 使用 Python-glob 循环一次加载两个图像

python - 使用多处理将 .wav 批量转换为 .flac(Python、Pydub)

Python 正则表达式未按预期工作

javascript - 使用谷歌登录时未从 firebase 验证 id token 获取 "email"

c++ - 用什么代替 C++ Qt 上的 glob?

python - 有没有以下问题的解决方案

python - Pandas 在分组后找到中位数

python - python 中的瓷砖游戏

python - 拆分/加入 mp3 时 pydub 音频故障