当我检查脚本中的 __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
最佳答案
当您指定 python 脚本的相对路径时,就会出现这种情况。相对路径成为您的文件的一部分,并且它可能与基于您当前工作目录 (%CD%) 和您调用脚本的相对路径的目录分隔符混合在一起。
import os
__file__ = os.path.abspath(__file__)
... 就像上面@eryksun 所指出的那样。 Windows 上的 os.path.abspath() 总是将其转换为反斜杠。就风格而言,我宁愿不重写我认为是常量的东西,所以我通常将 os.path.abspath() 包装在我对 file 的单次使用中。
关于python - 为什么我的 __file__ 路径同时包含正斜杠和反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799085/