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

时间:2016-08-05 23:32:29

标签: python windows python-3.x pycharm

当我检查脚本中的__file__变量时,我看到向前斜杠到某个点,然后文件路径切换到成反斜杠。

如果我在此文件路径C:\WorkFiles\python\wat_disposition\wat_disposition\__init__.py

下的脚本中

我在脚本中运行print(__file__),得到以下输出:

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

为什么它会同时显示正斜杠和反斜杠?不应该是一个或另一个吗?

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

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

1 个答案:

答案 0 :(得分:0)

当您指定python脚本的相对路径时,就会发生这种情况。相对路径成为您的文件的一部分,并且可能与基于当前工作目录(%CD%)和您调用脚本的相对路径的目录分隔符混合在一起。

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

...可以解决问题,如上面@eryksun所述。 Windows上的os.path.abspath()始终将其转换为反斜杠。出于风格考虑,我不想重写我认为是常量的内容,因此通常将os.path.abspath()包装在我的 file 文件上。