【问题标题】:How to include a variable in 'r' raw string如何在“r”原始字符串中包含变量
【发布时间】:2020-05-22 06:16:37
【问题描述】:

我已经为用户路径创建了一个新变量,但不确定如何添加到以下内容中。

import os, pwd

path=os.getcwd()

#crif0 = r '/abc/crif/gpio_mem_0_crif.xml' - original

crif0 = r (path+ '/crif/gpio_mem_0_crif.xml') - I tried with this but doesn't work

【问题讨论】:

  • 你必须使用path + r'/crif/...'
  • 在这种特殊情况下,os.path.join(path, 'crif', 'gpio_mem_0_crif.xml') 是正确的方法。
  • r 不是一个函数,而只是一个符号。就像0xA5 中的0x - 你也不能分开。
  • @bereal 谢谢!请在下面回答,这样我就可以关闭这个问题了

标签: python rawstring


【解决方案1】:

正如 cmets 中所提到的,r 是一个文字前缀,除了字符串文字之外,您不能将其应用于任何内容,因此 path + r'/crif/...' 就足够了。但是,在这种特殊情况下,当您需要编写文件路径时,我会使用标准库,这使得代码更具可移植性:

import os
path = os.getcwd()
crif0 = os.path.join(path, 'crif', 'gpio_mem_0_crif.xml')

或者,以更现代的方式使用路径对象而不是字符串:

from pathlib import Path
crif0 = Path.cwd() / 'crif' / 'gpio_mem0_crif.xml'

【讨论】:

    猜你喜欢
    • 2018-09-26
    • 2011-06-05
    • 2023-03-04
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2016-11-29
    • 2014-10-14
    • 2014-03-03
    相关资源
    最近更新 更多