我试图逃避反斜杠,但试图理解正确的做法
foo = r'C:\Users\test.doc'
以上工作正常
但是,当我想要转义存储在变量
中的路径时例如:
parser.add_argument('-s', '--source', type = str, help = 'Source file path')
现在,如何在-args.source
中转义值答案 0 :(得分:0)
因此在python中需要注意一些转义序列,它们主要是这些。
因此,当add_argument
方法解析该文件位置的字符串时,它可能不会被解释为您已声明的原始字符串,并且无法转义声明之外的反斜杠。
你可以做的是将它保持为常规字符串(从字符串中删除'r'前缀)并在任何地方使用转义字符作为反斜杠,这可能与另一个转义字符冲突(在这种情况下) \吨)。这可能有效,因为该方法可以正确评估字符串。
尝试像这样声明你的字符串。
foo = "C:\Users\\test.doc"
希望这有助于解决您的问题!
修改强>
为了响应处理动态文件位置,您可以执行以下操作!
def clean(s):
s = s.replace("\t", "\\t")
s = s.replace("\n", "\\n")
return s
在您覆盖所有基地之前,您可能需要使用哪些地点!此解决方案可能更适合您的需求。这有点好笑,我以前没想过这样做。希望这有帮助!