当我检查脚本中的__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
答案 0 :(得分:0)
当您指定python脚本的相对路径时,就会发生这种情况。相对路径成为您的文件的一部分,并且可能与基于当前工作目录(%CD%)和您调用脚本的相对路径的目录分隔符混合在一起。
import os
__file__ = os.path.abspath(__file__)
...可以解决问题,如上面@eryksun所述。 Windows上的os.path.abspath()始终将其转换为反斜杠。出于风格考虑,我不想重写我认为是常量的内容,因此通常将os.path.abspath()包装在我的 file 文件上。