通配符文件名和 Pydub
Wildcard filenames and 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")
任何指点都很棒!
glob.glob
returns 文件列表
试试
from pydub import AudioSegment
import glob
my_songs = glob.glob("/Users/usename/Google Drive/Developer/Voicemails/*.mp3")
for my_song in my_songs:
song = AudioSegment.from_mp3(my_song)
...
要获取所有 MP3 文件,只需替换“?”路径中带有“*”
现在,当您使用 glob 时,它会 return 一个文件列表,因此您必须遍历所有文件并执行您的操作(即使该目录中只有一个文件)。
例如这样的事情:
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")
祝你好运
任何人都可以向我解释如何修复此代码。如果我将 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")
任何指点都很棒!
glob.glob
returns 文件列表
试试
from pydub import AudioSegment
import glob
my_songs = glob.glob("/Users/usename/Google Drive/Developer/Voicemails/*.mp3")
for my_song in my_songs:
song = AudioSegment.from_mp3(my_song)
...
要获取所有 MP3 文件,只需替换“?”路径中带有“*” 现在,当您使用 glob 时,它会 return 一个文件列表,因此您必须遍历所有文件并执行您的操作(即使该目录中只有一个文件)。
例如这样的事情:
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")
祝你好运