首页 > 解决方案 > 为什么当我在负载属性中键入“r”时 pygame 混合器工作?

问题描述

我搜索了 pygame 文档,但找不到与此相关的任何内容。我刚刚在 stackoverflow 上阅读了一些人在链接之前输入 r 并且它有效!?为什么会这样?

from pygame import mixer
mixer.init()
mixer.music.load('C:\\Users\HP Envy\PycharmProjects\tictactoegame\tictactoesong.wav')
mixer.music.play()
#error is pygame.error: Couldn't open 'C:\Users\HP Envy\PycharmProjects ictactoegame    ictactoesong.wav' (it maybe does not see 't' letter)
# when it is
from pygame import mixer
mixer.init()
mixer.music.load(r'C:\\Users\HP Envy\PycharmProjects\tictactoegame\tictactoesong.wav')
mixer.music.play()
#it works

标签: python

解决方案


r 字符串是原始字符串。这意味着所有反斜杠都是反斜杠字符。
例如:

print('foo\\')
print('bar\\')

会打印

foo\
bar\

使用 r 字符串:

print(r'foo\\')
print(r'bar\\')

会打印

foo\\
bar\\

通常,反斜杠字符 ('') 被视为转义码的开头,如 '\n'、'\r'、'\c'、'\' 等。原始字符串将反斜杠视为字符串文字,就像普通字符一样。打印r'\n'将逐字打印\n


推荐阅读