Python逃避反斜杠

时间:2015-07-03 20:02:19

标签: python escaping

我试图逃避反斜杠,但试图理解正确的做法

foo = r'C:\Users\test.doc'

以上工作正常

但是,当我想要转义存储在变量

中的路径时

例如:

parser.add_argument('-s', '--source', type = str, help = 'Source file path')

现在,如何在-args.source

中转义值

1 个答案:

答案 0 :(得分:0)

因此在python中需要注意一些转义序列,它们主要是这些。

enter image description here

因此,当add_argument方法解析该文件位置的字符串时,它可能不会被解释为您已声明的原始字符串,并且无法转义声明之外的反斜杠。

你可以做的是将它保持为常规字符串(从字符串中删除'r'前缀)并在任何地方使用转义字符作为反斜杠,这可能与另一个转义字符冲突(在这种情况下) \吨)。这可能有效,因为该方法可以正确评估字符串。

尝试像这样声明你的字符串。

foo = "C:\Users\\test.doc"

希望这有助于解决您的问题!

修改

为了响应处理动态文件位置,您可以执行以下操作!

def clean(s):
    s = s.replace("\t", "\\t")
    s = s.replace("\n", "\\n")
    return s

在您覆盖所有基地之前,您可能需要使用哪些地点!此解决方案可能更适合您的需求。这有点好笑,我以前没想过这样做。希望这有帮助!