如何在 Python 中“原始文本”变量?

Pyd*_*man 8 python string rawstring python-2.7

我正在打开一本工作簿openpyxl

wb = load_workbook(r'seven.xlsx', data_only=True)
Run Code Online (Sandbox Code Playgroud)

电子表格的名称并不总是事先知道,所以我需要重写这个硬编码以允许一个变量,同时仍然保持r?

如果我的变量名是 sheet,那么:

wb = load_workbook(sheet, data_only=True)
Run Code Online (Sandbox Code Playgroud)

将省略r.

显然我不能这样做:

wb = load_workbook(r'sheet', data_only=True)
Run Code Online (Sandbox Code Playgroud)

我们如何实现 r 到变量的前置/我们如何将 vriable 包装在其中r''

小智 5

我并不真正理解你想要做什么,但是如果你有一个字符串并且你想创建一个原始文本,我知道有两种主要方法:
raw_text = [str_text]

str_text = "%r"%str_text
raw_text = str_text[1:-1]


200*_*ess 0

你的问题没有意义。前缀rto 表示后面的字符串文字中的反斜杠序列将按字面解释,而不是解释为转义序列。如果您已经有一个字符串变量,则该变量的内容已正确设置。

  • 你肯定误判了这个问题。`r'all_done.xlsx'` 与 `'all_done.xlsx'` 完全一样,因为字符串文字中没有反斜杠。如果无法写入文件,则原因一定是其他原因。如果我不得不推测,也许“无效模式”部分是相关的——也许你没有当前目录的写权限? (3认同)
  • @SiHa 文档没有说我必须使用“r”。Windows 上的经验表明我确实如此。 (2认同)