我的开发环境:
python3.11
代码如下:
`
import tempfile
import os
from pydub import audio_segment
from pydub.playback import play
把临时目录改到当前文件夹
tempfile.tempdir = os.path.dirname(os.path.abspath(file))
song = audio_segment.AudioSegment.from_file('囍-祖娅纳惜.mp4')
play(song)
print(dir(pydub))
`
报错:
PermissionError: [Errno 13] Permission denied: 'C:\Users\rkey\Downloads\ct\ton-2026-01-19\资料\python-play-music\tmprevvhm0p.wav
我发现这个问题是因为文件还没关闭就被别的代码打开了,
我修改了如下代码,解决了这个问题:
C:\Users\rkey\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydub\playback.py
该文件的第15行处
with NamedTemporaryFile("w+b", suffix=".wav") as f: seg.export(f.name, "wav")
修改为:
‘
with NamedTemporaryFile("w+b", suffix=".wav") as f:
f.close()
seg.export(f.name, "wav")
’
我的开发环境:
python3.11
代码如下:
`
import tempfile
import os
from pydub import audio_segment
from pydub.playback import play
把临时目录改到当前文件夹
tempfile.tempdir = os.path.dirname(os.path.abspath(file))
song = audio_segment.AudioSegment.from_file('囍-祖娅纳惜.mp4')
play(song)
print(dir(pydub))
`
报错:
PermissionError: [Errno 13] Permission denied: 'C:\Users\rkey\Downloads\ct\ton-2026-01-19\资料\python-play-music\tmprevvhm0p.wav
我发现这个问题是因为文件还没关闭就被别的代码打开了,
我修改了如下代码,解决了这个问题:
C:\Users\rkey\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydub\playback.py
该文件的第15行处
with NamedTemporaryFile("w+b", suffix=".wav") as f: seg.export(f.name, "wav")修改为:
‘
with NamedTemporaryFile("w+b", suffix=".wav") as f:
f.close()
seg.export(f.name, "wav")
’