簡體   English   中英

Python:pygame.mixer.music和unicode文件名

[英]Python: pygame.mixer.music and unicode filenames

當您嘗試將pygame.mixer.music.open()與包含Unicode字符的文件名字符串一起使用時,似乎總是在拋出UnicodeEncodeError:

File "C:\TestPlayer.py", line 43, in <module>
pygame.mixer.music.load(x)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 12-19: 
ordinal not in range(128)

(為了您的觀看樂趣而斷開的線條)

我使用os.path.exists(x)檢查了x的存在,返回了True。 難道我做錯了什么? 如果沒有,是否可以手動修復pygame的混音器(.pyd文件)?

我正在使用Python 2.6和Pygame 1.9.1。

我忘記添加嘗試打開的文件是mp3文件,但Pygame的網站/ Wiki指出pygame.mixer.music應該可以使用這些文件。 實際上,只要文件名僅包含ASCII字符就可以。

而不是傳遞文件名,而是以與Unicode兼容的方式打開文件,然后將文件對象傳遞給pygame.mixer.music.load

你試過了

fle = open(filename, 'rb')
pygame.mixer.music.load(fle)

fle = open(filename, 'rb')
pygame.mixer.load(fle.read())

或者您可以嘗試,我不知道,類似

fle = open(filename, 'rb')
foo = fle.read()
pygame.mixer.load(fle.encode('ascii'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM