作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图逃避反斜杠,但试图理解正确的做法
foo = r'C:\Users\test.doc'
以上效果很好
但是,当我想转义存储在变量中的路径时
例如:
parser.add_argument('-s', '--source', type = str, help = 'Source file path')
现在,如何转义 - args.source 中的值
最佳答案
所以在Python中有一些转义序列需要注意,主要是这些。
因此,当通过 add_argument
方法解析该文件位置的字符串时,它可能不会像您声明的那样被解释为原始字符串,并且无法转义外部的反斜杠声明。
您可以做的就是将其保留为常规字符串(从字符串中删除“r”前缀),并在任何可能与另一个转义字符冲突的地方使用转义字符作为反斜杠(在本例中)\t)。这可能有效,因为该方法可以正确评估字符串。
尝试像这样声明你的字符串。
foo = "C:\Users\\test.doc"
希望这有助于解决您的问题!
编辑:
为了处理动态文件位置,您可以执行如下操作!
def clean(s):
s = s.replace("\t", "\\t")
s = s.replace("\n", "\\n")
return s
直到您覆盖了您可能需要工作的所有基地!该解决方案可能更适合您的需求。有点有趣的是我以前没想过这样做。希望这有帮助!
关于Python转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31213556/
我是一名优秀的程序员,十分优秀!