浅谈Python2、Python3相对路径、绝对路径导入方法

yipeiwu_com5年前Python基础

os.path.dirname() 获取父目录

os.path.basename() #获取文件名或者文件夹名

python2缺省为相对路径导入,python3缺省为绝对路径导入

python2绝对路径导入

from __future__ import absolute_import

python2缺省会搜索上一级目录、上上级目录

解决方案:

import platform
pver=platform.python_version()
pversion= int(pver.split('.')[0])
try:
 if pversion==2:
  print(1)
  from .A import aa
 else:
 print(2)
 from A import aa
except:
 print(3)
 from A import aa

异常处理版:

try:
 from .A import aa
 print(12)
except:
 print(22)
 from A import aa

其他重点

1、包之所以为包,取决于是否有__init__.py文件

2、相对路径导入仅用于包内,同一个顶级包内

3、当前目录:

play$ python main.py

play为当前目录

play$ python test/main.py

play/test为当前目录

play$ python -m test.main

play为当前目录

出现SystemError: Parent module '' not loaded, cannot perform relative import错误一个原因为包内使用相对路径,改用python -m可解决。

以上这篇浅谈Python2、Python3相对路径、绝对路径导入方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

centos6.7安装python2.7.11的具体方法

1. 查看本机系统及python版本 # cat /etc/redhat-release CentOS release 6.7 (Final) 查看CentOS release 6.7...

浅述python中argsort()函数的实例用法

浅述python中argsort()函数的实例用法

由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了...

详解用python实现基本的学生管理系统(文件存储版)(python3)

这个是升级的版本,比较进阶一点的,相对与之前的文件管理系统,数据只是存储到了内存中,而不是存储到硬盘上,我们想让文件存储到硬盘上的话,一个是存储到文件里,一个是存储到数据库中,存储到数据...

在Python 中实现图片加框和加字的方法

第一步:安装opencv-python rpm -ivh opencn-python-2.4.5-3.el7.ppc64le.rpm 第二步:引用cv2 import cv2...

编写Python小程序来统计测试脚本的关键字

通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数、业务函数需要修改,那么势必要找出那些引用过这个被修改函数的地方,有些IDE支持全...