小编典典

从变量打印原始字符串?(没有得到答案)

python

我正在尝试找到一种从变量以原始格式打印字符串的方法。例如,如果我将环境变量添加到Windows的路径中(看起来像)'C:\\Windows\Users\alexb\',我知道我可以做到:

print(r'C:\\Windows\Users\alexb\')

但是我不能r在变量前面放一个…。例如:

test = 'C:\\Windows\Users\alexb\'
print(rtest)

显然只是尝试打印rtest

我也知道

test = 'C:\\Windows\Users\alexb\'
print(repr(test))

但这种回报'C:\\Windows\\Users\x07lexb' 一样

test = 'C:\\Windows\Users\alexb\'
print(test.encode('string-escape'))

所以我想知道是否有任何优雅的方法可以使持有该路径的变量打印为RAW,同时仍使用test?如果只是这样会很好

print(raw(test))

但不是


阅读 90

收藏
2020-12-20

共1个答案

小编典典

我遇到了类似的问题,偶然发现了这个问题,并且感谢Nick Olson-
Harris的回答,解决方案在于更改字符串。

解决它的两种方法:

  1. 使用本机python函数获取所需的路径,例如:
    test = os.getcwd() # In case the path in question is your current directory
    

    print(repr(test))

这使其与平台无关,并且现在可以与一起使用.encode。如果这是您的选择,那么它是更优雅的解决方案。

  1. 如果您的字符串不是路径,请以与python字符串兼容的方式定义它,在这种情况下,请转义您的反斜杠:
    test = 'C:\\Windows\\Users\\alexb\\'
    

    print(repr(test))

2020-12-20