为什么我的 __file__ 路径同时包含正斜杠和反斜杠?

问题描述 投票:0回答:1

当我检查脚本中的

__file__
变量时,我看到正斜杠达到某一点,然后文件路径切换到成对的反斜杠。

如果我在此文件路径下的脚本中

C:\WorkFiles\python\wat_disposition\wat_disposition\__init__.py

我在脚本中运行

print(__file__)
,得到以下输出:

'C:/WorkFiles/python/wat_disposition\\wat_disposition\\__init__.py'

为什么它同时显示正斜杠和反斜杠?不应该是其中之一吗?

我很担心,因为我想确保我的文件路径对于以后的文件写入操作是有效的。

注意:我在 Windows 7 上的 Pycharm 中运行 python 3.x

python windows python-3.x pycharm
1个回答
2
投票

当您指定 python 脚本的相对路径时,就会出现这种情况。相对路径成为您的

__file__
的一部分,并且它可能会与基于您当前工作目录 (
%CD%
) 和您调用脚本的相对路径的目录分隔符混合。

import os
__file__ = os.path.abspath(__file__)

...确实有效,正如上面@eryksun 所指出的。 Windows 上的

os.path.abspath()
始终将其转换为反斜杠。作为一种风格问题,我不想重写我所认为的常量,所以我通常将
os.path.abspath()
包裹在我对
__file__
的单一使用中。

© www.soinside.com 2019 - 2024. All rights reserved.