如何在Python中获取项目的当前路径?
问题描述:
有没有办法找出一个子文件夹中当前项目的路径?如何在Python中获取项目的当前路径?
如果我有比如像:
/
main.py
/utils
utilities.py
/foo
foo.py
/foo/bar
bar.py
虽然/foo/foo.py
或/foo/bar/bar.py
编码我想包括位于/utils/utilities.py
的“实用工具”模块,我怎样才能做到这一点通过调用某种相对路径到项目,然后只需导入这个帮手模块?
我能够检索文件的路径是与执行:
os.path.realpath(os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe()))[0]))
但我需要的是当前项目的相对或绝对路径。
在此先感谢。
答
,如果你设置你的项目了作为一个整体,在这种情况下应该是那样简单你并不需要担心的路径把一个空__init__.py
到每个文件夹:
/src
__init__.py
main.py
foo/
__init__.py
foo.py
/bar
__init__.py
bar.py
util/
__init__.py
utilities.py
现在,main.py
,foo.py
和bar.py
可以通过一个简单的导入utilities
模块:
from util import utilities
答
我用一个例子在这里工作提供:
cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(inspect.getfile(inspect.currentframe()))[0],"../../utils/")))
您是否熟悉[内部软件包引用](http://docs.python.org/tutorial/modules.html#intra-package-references)? –
可能重复;看一看:http://*.com/a/6098238/1107807 –
我得到这个在这里提供了一个示例工作: cmd_subfolder = os.path.realpath(os.path.abspath则(os.path.join( os.path.split(inspect.getfile(inspect.currentframe()))[0],“../../ utils /”))) –