小编jvk*_*sch的帖子

当CWD发生变化时,如何在Python模块中使用相对路径?

我有一个Python模块,它使用模块目录的子目录中的一些资源.在搜索堆栈溢出并找到相关答案后,我设法通过使用类似的东西将模块引导到资源

import os
os.path.join(os.path.dirname(__file__), 'fonts/myfont.ttf')
Run Code Online (Sandbox Code Playgroud)

当我从其他地方调用模块时这很好用,但是当我在更改当前工作目录后调用模块时,它会中断.问题是内容__file__是一个相对路径,没有考虑到我更改目录的事实:

>>> mymodule.__file__
'mymodule/__init__.pyc'
>>> os.chdir('..')
>>> mymodule.__file__
'mymodule/__init__.pyc'
Run Code Online (Sandbox Code Playgroud)

如何__file__编写绝对路径,或者禁止如何访问模块中的资源,无论当前工作目录是什么?谢谢!

python relative-path python-packaging

29
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1

python-packaging ×1

relative-path ×1