Python导入上一级/下一级/任一级目录下的.py文件问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python导入上一级/下一级/任一级目录下的.py文件问题相关的知识,希望对你有一定的参考价值。

参考技术A

有如下目录:

即python文件夹下有file1, file2, pfile.py, data.py,文件夹file1下又有file1_1, pfile1.py, 文件夹file2下有pfile2.py,文件夹file1_1下又有pfile1_1.py。

在文件pfile.py中导入pfile1.py, pfile2.py或 pfile1_1.py,并使用其中的函数(假设函数名分别文fun1(), fun2(), fun1_1()):

需要注意的是,这种导入方式下,如果要用导入的文件中的函数或者类,需要在其前面加上文件名,即 "文件名.函数名" 的形式

有些教程里面说,需要在下一级目录下新建一个空的python文件命名为 __init__.py,但我在运行时发现不建一个文件也会导入成功。

如果要在pfile1.py中调用pfile.py 和 pfile2.py,因为当前路径是 \'/home/puxitong/python/file1/\' ,而 pfile.py和pfile1.py在路径\'/home/puxitong/python/\' 及其子路径下,这里的思路是将上一级目录 \'/home/puxitong/python/\' 添加在系统路径中,可以直接访问pfile.py,然后将pfile2.py 按照下一级路径导入方式进行导入:

如果要在pfile1_1.py中导入pfile.py, pfile1.py, pfile2.py呢? 原理是一样的,即将文件pfile.py所在路径添加到系统路径中,可直接导入pfile.py, 再按照下级文件导入方式导入pfile1.py和pfile2.py:

python获取当前路径和上一级路径

"""获取当前目录"""
print(os.getcwd())
print(os.path.abspath(os.path.dirname(__file__)))
"""获取上一级目录"""
print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
print(os.path.abspath(os.path.dirname(os.getcwd())))
print(os.path.abspath(os.path.join(os.getcwd(),"..")))
"""获取上上级目录"""
print(os.path.abspath(os.path.join(os.getcwd(),"../..")))


对应输出结果、

D:Mycloud_uiutil
D:Mycloud_uiutil
D:Mycloud_ui
D:Mycloud_ui
D:Mycloud_ui
D:My
















以上是关于Python导入上一级/下一级/任一级目录下的.py文件问题的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句,可以将各级菜单内容显示出来,格式如“一级菜单”/“二级菜单”/“三级菜单”

求正则表达式提取上一级目录名如./index_2.html

Python中import导入上一级目录模块及循环import问题的解决

python获取上一级与上上一级目录的写法

python缩进/格式化输出

将特定级别的所有警告视为错误,而不是下一级的警告