浅谈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设计】。

相关文章

Python+selenium 获取浏览器窗口坐标、句柄的方法

1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现”Command n...

flask利用flask-wtf验证上传的文件的方法

利用flask-wtf验证上传的文件 定义验证表单类的时候,对文件类型的字段,需要采用FileField这个类型,即wtforms.FileField。 验证器需要从flask...

selenium+python自动化测试环境搭建步骤

selenium+python自动化测试环境搭建步骤

相对于自动化测试工具QTP来说,selenium小巧、免费,而且兼容Google、FireFox、IE多种浏览器,越来越多的人开始使用selenium进行自动化测试。 我是使用的pyth...

python中hasattr()、getattr()、setattr()函数的使用

python中hasattr()、getattr()、setattr()函数的使用

 引言:   在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setat...

python flask实现分页效果

python flask实现分页效果

在我们学习的过程中会遇到这么样的问题,就是在我们学习的过程中会发现需要分页处理,这里呢,给大家介绍书上说的分页。 @app.route('/',methods=['GET']) @a...