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

发布于 2021-01-29 18:17:59

我正在尝试找到一种从变量以原始格式打印字符串的方法。例如,如果我将环境变量添加到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))

但不是

关注者
0
被浏览
42
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我遇到了类似的问题,偶然发现了这个问题,并且感谢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))



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看