结合 f 字符串和原始字符串文字

新手上路,请多包涵

我想知道如何在使用 r 的同时使用 f 字符串来获取原始字符串文字。我目前有它如下但想要允许任何名称替换的选项 Alex 我正在考虑添加一个 f 字符串然后替换 Alex 用花括号并将用户名放在里面但是这不适用于 r

 username = input('Enter name')
download_folder = r'C:\Users\Alex\Downloads'

原文由 lammyalex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 737
2 个回答

您可以将 f 与原始字符串的 r 结合使用:

 user = 'Alex'
dirToSee = fr'C:\Users\{user}\Downloads'
print (dirToSee) # prints C:\Users\Alex\Downloads

r 仅禁用反斜杠转义序列处理,而不是 f 字符串处理。

引用 文档

‘f’ 可以与 ‘r’ 组合,但不能与 ‘b’ 或 ‘u’ 组合,因此原始格式化字符串是可能的,但格式化字节文字不是。

除非存在“r”或“R”前缀,否则将解释字符串和字节文字中的转义序列…

原文由 rajah9 发布,翻译遵循 CC BY-SA 4.0 许可协议

或者,您可以使用 str.format() 方法。

 name = input("What is your name? ")
print(r"C:\Users\{name}\Downloads".format(name=name))

这将通过插入 name 值来格式化原始字符串。

原文由 clubby789 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题