python - 为什么当我在负载属性中键入“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
解决方案
r 字符串是原始字符串。这意味着所有反斜杠都是反斜杠字符。
例如:
print('foo\\')
print('bar\\')
会打印
foo\
bar\
使用 r 字符串:
print(r'foo\\')
print(r'bar\\')
会打印
foo\\
bar\\
通常,反斜杠字符 ('') 被视为转义码的开头,如 '\n'、'\r'、'\c'、'\' 等。原始字符串将反斜杠视为字符串文字,就像普通字符一样。打印r'\n'
将逐字打印\n
。
推荐阅读
- reactjs - 测试一个反应组件 axios 发布请求
- c# - 在 Kentico Xperience 13 .NET Core 站点中将静态资产设置为可缓存
- payment - Datacash 3DS txn 无法授权
- elasticsearch - Elasticsearch:如何解释多索引查询的分数?
- python - Kubernetes 中烧瓶迁移的最佳实践
- java - 如何将此嵌套三元 if-else 示例转换为 if-else 循环
- android - 没有上下文的 ResourcesCompat.getColor():错误 NotFoundException
- reactjs - 如何检查 Next-Js 组件状态?
- python - QtWidgets.QWidget() 返回什么小部件?
- c# - ASP.NET MVC 在单个 HTTP 发布请求中更新主从记录