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

Python014

Python导入上一级下一级任一级目录下的.py文件问题,第1张

有如下目录:

即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,使用pycharm时,发现导入自己写的功能模块时pycharm不能智能提示,感觉很苦恼,原来是pycharm不会将当前的工作目录加入到自己的sourse_root中解决办法有两种,本文只具体介绍最简单的一种,

解决办法如下

/1、在Pycharm界面中右击你想要导入模块的py文件夹,选择Make Diretory as

/2、然后选择Sourse Root

3、这样你导入的模块就有智能提示了!!!

方法2

File–>setting–>project:你的工程名–>project structure–>选中上方的Sourse–>点击ADD content root手动添加即可。