以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法,并且有不同的表现形式,新手很容易搞混。有必要这里做个总结,给大家科普一下:

1 同级目录下的调用:

同级目录下的调用比较简单,一般使用场景是不同类的相互调用。不用考虑路径问题,常用的格式是:from file import * 或者 from file import class/function 等。
下面以一个例子作为说明:
程序结构:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│   └── test1.cpython-37.pyc
├── dir1
│   └── test3.py
├── test1.py
└── test2.py

代码:

from test1 import *
# the below is also ok
#from test1 import dir_testdef test_file2():print("this is test file2")dir_test()
test_file2()

2 子目录下的调用:

子目录下的函数调用,正常的情况下,需要包含子目录的,常用的格式如下:form dir1.file import * 或者: from dir1 import file等。
下面以一个例子说明:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│   └── test1.cpython-37.pyc
├── dir1
│   ├── pycache
│   │   └── test3.cpython-37.pyc
│   └── test3.py
├── test1.py
└── test2.py

代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from test1 import *
# the below is also ok
#from test1 import dir_testfrom dir1.test3 import *def test_file2():print("this is test file2")dir_test()
dir1_test()

3 上级目录下的调用:

上级目录调用要比上两种复杂,这里要用到sys函数,首先要在将要调用的文件下面建一个空文件:init.py 然后在调用这个文件的文件里面添加:sys.path.append("…"),才可以调用成功:
下面是一个例子:文件结构:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│   └── test1.cpython-37.pyc
├── dir1
│   ├── init.py
│   ├── pycache
│   │   ├── init.cpython-37.pyc
│   │   └── test3.cpython-37.pyc
│   └── test3.py
├── dir2
│   └── test4.py
├── test1.py
└── test2.py

代码:

#!python3import sys
sys.path.append("..")
from dir1.test3 import *
#import dir1

python 各层级目录下的import方法相关推荐

  1. python打开一个文件夹下所有txt文件-python读取一个目录下所有txt里面的内容方法...

    实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文 ...

  2. python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法

    实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文 ...

  3. python 找出图片中的差异点,python opencv对目录下图片进行去重的技巧

    使用python opencv对目录下图片进行去重的方法 版本: 平台:ubuntu 14 / I5 / 4G内存 python版本:python2.7 opencv版本:2.13.4 依赖: 如果系 ...

  4. python 下载文件-Python实现HTTP协议下的文件下载方法总结

    本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...

  5. 如何把 .wrl 文件转成 .ply 文件(python 一次性转换目录下所有文件)

    一.概述 wrl :virtual reality world 最近在找一些大场景点云文件,找到了一些 .wrl 文件,但是这些文件需要专门的软件打开才能显示,而我一般用的都是meshlab,所以需要 ...

  6. python 遍历搜索 目录下所有文件

    python 遍历搜索 目录下所有文件 import osdef search_dir_all_files(input_dir):files_list=[]for root, dirs, files ...

  7. python获取指定目录下的所有指定后缀的文件名

    python获取指定目录下的所有指定后缀的文件名 使用到的函数有: os.path.splitext():分离文件名与扩展名 代码如下: #! /usr/bin/python # -*- coding ...

  8. android 获取图片上某一个文字位置_android 获取手机中的所有图片或某一目录下的图片方法...

    获取手机中的所有图片,并过滤获取某一目录下的图片.(注释掉的代码可以按照目录分组) private void getAllPhotoInfo() { new Thread(new Runnable() ...

  9. Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理

    Python 连接 FTP 服务器并实现文件夹下载实例演示 第一章:连接 FTP 服务器并实现文件夹下载 ① 连接 FTP 服务器 ② 进入指定目录并显示文件信息 ③ 区分文件和文件夹名 ④ 文件夹名 ...

最新文章

  1. 图像指针与矩阵格式转换——Mat转uchar*及uchar*转Mat代码实现
  2. 阿里凑单算法首次公开!打包购商品挖掘系统解析
  3. 解决‘tf.ResizeNearestNeighbor‘ op is neither a custom op nor a flex op
  4. 汇编指令prefix rep:
  5. 我30岁了。现在开始编程,会不会太晚?
  6. linux查看消息队列的状态,linux – 如何知道某个时间点在消息队列中收到的消息数...
  7. Zabbix---5 监控linux服务器目录大小
  8. Python爬虫搜索全网音乐并下载
  9. js替换字符串中的${xxx}
  10. 《汉魏风云》2、孙吴兵法第一传人——辛苦的天才曹操
  11. curry化 js_Curry的js实现
  12. 群晖nas安装监控后台SurveillanceStation
  13. ”微信小程序“一场风暴还是过江之鲫
  14. 植物大战僵尸资源文件提取 总结
  15. Ceph 学习——OSD读写流程与源码分析(一)
  16. 阿里云短信平台简单使用
  17. java连接mysql教程_Java连接MySQL数据库详细教程(附网盘下载地址)
  18. 用芝麻二维码生成器制作App下载二维码
  19. SDOI2014 Round1 day2
  20. 奥鹏计算机应用基础一答案15年,天大15年12月考试《计算机应用基础》大作业考核答案...

热门文章

  1. java 封装 继承和多态
  2. xcode代码没颜色的解决方案
  3. python3的 time库的使用
  4. w3school-html教程笔记-1-20140227
  5. modelsim-altera
  6. 【Shall脚本】定时在线备份上传
  7. python 十六进制转中文_Python中十六进制数组到十进制的转换
  8. 日常工作部门及体系相关单词
  9. MD04读取的一些计算表
  10. 生产订单收货数量与物料凭证计算总数量不一致