我正在尝试使用python打开随机mp3文件,以便可以从音乐播放列表中播放随机歌曲。
这是我尝试过的代码的两种变体
setSlideActive
或
file = str('C:\file.mp3')
open(file)
运行该程序时,我希望看到Microsoft mp3播放器打开并播放该文件,但是我收到一条弹出消息,提示open('C:\file.mp3')
我以前从未使用过"Unicode error: 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape".
,所以如果这很简单,那么我很抱歉。
答案 0 :(得分:4)
始终将原始字符串用于Windows文件路径(和正则表达式)。否则,名称以U
(例如C:\Users
)开头的文件夹看起来像是Unicode转义的开始;许多其他字符最终也被解释为转义符(例如f
被转义为换页符)。
使用原始字符串(前缀为r
)意味着反斜杠只能转义引号字符,而没有其他字符。所以:
with open(r'C:\file.mp3') as f:
有效,其中:
with open('C:\file.mp3') as f:
不会。也就是说,这些都不会在您的音乐播放器中打开文件。 open
打开原始文件以读取原始数据(如果您尝试以文本模式读取原始文件,则奇数为mp3
的文件会出错,除非您使用的是更宽松的编解码器之一,例如{ {1}})。如果您想通过默认处理程序that's what os.startfile
is for 启动文件,例如:
latin-1
答案 1 :(得分:1)
此问题曾被问过。指向文档can be found here
的链接请参阅Can Python Open a MP3 File。
您可以使用内置的os
库:
import os
os.startfile('my_mp3.mp3')