【问题标题】:Escape character inconsistency when leading integers前导整数时转义字符不一致
【发布时间】:2022-08-18 18:46:43
【问题描述】:

由于转义字符发生了奇怪的事情,我在尝试操作目录路径时遇到了问题。

当我尝试在我的目录路径上运行以下代码时,某些转义字符不会被转换,而是显示为笑脸?

path = \"\\\\ad.company.com\\data\\projects\\office\\2022\\222222-project\\01-WIP\\01-3D\\01-Central\\Facade Option Study\\222222-3DR-ZZ-XX-M3-A-XXXXX - Option Study.rvt\" 

newPath = path.replace(os.sep, \'/\')
print(newPath) 

输出 =

/ad.company.com/data/projects/office2222-project☺-WIP☺-3D☺-Central/Facade Option Study222-3DR-ZZ-XX-M3-A-XXXXX - Option Study.rvt

这进一步得到证实,因为当我尝试使用 path.split(\"\\\") 拆分字符串时,它会跳过 os.sep 方法用表情符号替换的转义字符。

转换中的不一致也与 VS Code 一致,显示这些转义字符和一些尾随字符,颜色与常规字符串的其余部分略有不同(在下面的链接中可见片段。)

VS Code snip

在整数前面引导时,我对转义字符有什么不知道的吗?

谢谢你的帮助

    标签: python directory path operating-system escaping


    【解决方案1】:

    使用原始字符串。它从字面上解释反斜杠,而不是转义字符:

    path = r"\\ad.company.com\data\projects\office\2022\222222-project\01-WIP\01-3D\01-Central\Facade Option Study\222222-3DR-ZZ-XX-M3-A-XXXXX - Option Study.rvt"
    

    '\2''\\2' 不一样

    阅读原始字符串 here 的文档。

    【讨论】:

    • 是的,这次你的直觉对你很有帮助。请更新您的问题,说明在字符串中的某些数字之前有一个 '\' 对 python 意味着什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多