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

标签 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

最佳答案

当您指定 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/

相关文章:

windows - win32/opengl 和回调函数.. 它们的结构如何?

Django/Visual Studio 教程 - 对象方法错误

python - 如何迭代由 getter 或 @property 定义的对象的属性?

python - 大型二维 numpy 数组中相同元素的高效成对计算

python - 如何在 Python 中使用计时器解锁条件?

python - dir_util.copy_tree 不会打印它复制的文件

regex - 使用批处理文件为关键字的每个实例创建换行符

python - 从使用Python中的groupby itertools创建的词典列表中删除重复项

python - 制作一个 Python 文档的 PDF 文件

python - Python 中的语义错误。数学错误