Python中转义正斜杠字符及创建特殊路径失败求助
解决Python中创建含斜杠目录名的问题
嘿,我来帮你理清这个问题!
首先,你遇到的核心问题不是转义的问题,而是操作系统不允许目录名里包含/字符——不管是Windows还是Linux/macOS,/都是路径分隔符,系统会把它当成“进入下一级目录”的标记,而不是文件名的一部分。
你写的代码os.makedirs('abc(17\/12\/18)'),在Python里实际会被解析成字符串abc(17/12/18)。当操作系统处理这个路径时,它会把/当成分隔符,所以会尝试创建abc(17)这个目录,然后在里面创建12目录,再创建18)目录。你看到的abc(17\)大概率是系统显示或者转义误解导致的异常结果。
另外多说一句:在Python字符串里,正斜杠/根本不需要转义,只有反斜杠\才需要(比如Windows路径里的C:\\Users),你写的\/完全是多余的,反而容易造成混淆。
那该怎么创建你想要的目录呢?很简单,把/换成操作系统允许的字符就行,比如-、.或者_:
import os # 用横杠替换斜杠 os.makedirs('abc(17-12-18)') # 或者用点号 # os.makedirs('abc(17.12.18)')
如果你非要视觉上类似斜杠的效果,也可以试试全角的中文斜杠/,但不推荐这么做,因为跨系统或者其他工具处理时可能会出问题。
内容的提问来源于stack exchange,提问作者Akash Chandra
相关产品推荐
相关产品推荐

