Python中带双反斜杠的Windows路径

2024-06-10 11:24:06 发布

您现在位置:Python中文网/ 问答频道 /正文

这似乎是一个非常基本的问题,但我仍然感到困惑。我有一个包含反斜杠的windows路径,为了避免其特殊含义,我使用了\\。 当我使用print函数获取路径时,会给出实际返回:

>>> print("C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51\\Resources")
C:\Users\2.0Dev\8\F000B101\POD280-51\Resources

但是,在python中,当相同的参数作为参数传递给两个不同的函数时,行为是不同的:

>>> rsrc_dir="C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51\\Resources"
>>> os.path.isdir(rsrc_dir)
>>> False
>>> os.mkdir('C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51\\Resources')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WindowsError: [Error 3] The system cannot find the path specified:'C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51\\Resources'

有人能解释一下这两个函数是如何解释同一个参数的吗。另外,如何返回与print函数相同的格式化字符串

非常感谢


Tags: path函数dev路径参数oswindowsdir
1条回答
网友
1楼 · 发布于 2024-06-10 11:24:06

os.mkdir不创建中间目录,因此:

os.mkdir('C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51\\Resources')

如果不是这样的话,它将失败

os.path.exists('C:\\Users\\2.0Dev\\8\\F000B101\\POD280-51')

如果要递归创建目录,请使用os.makedirs。请注意,您可能会使用os.path.join,它将使用分隔符来表示它运行的系统,在您的情况下,其用法是:

rsrc_dir=os.path.join("C:\\","Users","2.0Dev","8","F000B101","POD280-51","Resources")

相关问题 更多 >