包内的文件相互导入分两种,用绝对路径和相对路径,用.或者..都是第二种,相对路径。

重点是,相对导入的路径依赖于当前模块的_name_,是根据它的“值”去找平级或者上级文件。

假设该from . import x语句存在于proj/test.py中,它会导入同级目录下的__init__.pyproj/__init__.py中的x对象,如果没有proj/__init__.py或有那个文件但是文件中不存在x对象,就导入proj/x/__init__.py,如果还没有,就导入proj/x.py,还没有就报错。

其中同级是按__name__的前一部分或 __package__ 确定的。如果用python proj/test.py运行,__name__就是__main____package__是None,就会报错。如果用python -m proj.test运行,虽然__name__还是__main__,但是__package__proj,就能成功导入,即使proj/__init__.py不存在也行。

例如:在模块A.B.C中的代码:

from . import D     # 导入A.B.D
from .. import E    # 导入A.E
from ..F import G    # 导入A.F.G,.. 和 F是连着的,中间没有空格

.代表当前目录,..代表上一层目录,...代表上上层目录。

回到遇到的问题,答案其实很简单:

from . import XXX是在当前程序所在文件夹里的__init__.py中导入XXX

如果当前程序所在文件夹里没有__init__.py文件的话,就不能这样写,而应该写成from .A import XXX,A是指当前文件夹下你想导入的函数(或者其它的)的python程序名

如果你想导入的函数不在当前文件夹,那么就有可能用到 from .. import XXX(即上一个文件夹中的__init__.py),或者from ..A import XXX(即上一个文件夹中的文件A)

python代码中 from . import ××× 是什么意思?相关推荐

  1. python import random函数-Python代码中的“import random”是什么意思?

    匿名用户 1级 2017-12-02 回答 导入python提供的random这个库. Python代码例子 1.输入三个变量,然后按小到大输出 [python] view plain copy x  ...

  2. mpython 直接访问_如何从python代码中直接访问Android的Service

    在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制.但是在Python对象和Java对象中转来转去总让人感觉到十分别扭.好在android提供了b ...

  3. python代码中添加环境变量

    比如命令行需要: export MASTER_PORT=5678 在python代码中就是: import osos.environ['MASTER_PORT'] = '5678'

  4. 在python代码中调用vba宏的四种方法

    在python代码中调用vba宏 工作以python为主体,但是遇到了一些word操作的需求(详见上一篇),这个需求用word自带的功能会很容易实现,于是就想着能不能用python调用宏来处理. 网上 ...

  5. Python代码中的数学之美:从自由落体到爬虫悖论,十分钟开启数学思维

    数学思维,就是用数学的方式去解决问题,就象吃饭用筷子.喝水用杯子一样,自然而然又理所当然.数学思维并非知识的积累,而是一种由特定思维习惯蕴育而成的能力--这种特定习惯的养成,往往是从解决看似简单的问题 ...

  6. python代码中疯狂print影响python性能吗?print是io吗?结论是做代码性能测试千万不要疯狂print,否则结果严重不准确,性能大幅下降。...

    很多人做性能测试,吧print打开,吧log调到debug级别并使用了streamhandler,那就会疯狂打印到控制台. 打印控制台会影响代码性能吗?这是毫无疑问的,python print会严重影 ...

  7. 判断火车票座位python代码_12306 火车票监控Python代码,12306python, import u

    12306 火车票监控Python代码,12306python, import uimport urllib.request as request import http.cookiejar as c ...

  8. python另存为excel_为什么不能从python代码中“另存为”Excel文件?

    我有一条蟒蛇 ExcelDocument 类,它为读取/写入/格式化Excel文件提供了基本的方便方法,而我在看似简单的Python代码中遇到了一个奇怪的错误.我有一个储蓄和 saveAs 方法: d ...

  9. Python代码中的三大常见“愚形”,你中招了吗?

    愚形,是围棋的专业术语,凡是效率低下且不美观的棋形,统称为愚形.比如空三角和团子,就是典型的愚形.低水平棋手经常会在无意中走出愚形,而那些高手平棋手,尽管在生死存亡的危机时刻也会用愚形求生或者逃命,但 ...

最新文章

  1. [小明学算法]3.启发式搜索算法----A*算法之我见
  2. bmp文件格式详细解析
  3. ALV的SAP自带标准程序实例
  4. composer update 的时候提示the requested PHP extension pcntl is missing from your system.的方法处理
  5. RabbitMQ 高可用集群搭建及电商平台使用经验总结
  6. ArcGis开发过程中遇到HRESULT:0x80040213错误
  7. php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程
  8. python文本格式_python处理文本文件并生成指定格式的文件
  9. 编程求一个四位自然数ABCD,它乘以A后变成DCBA
  10. 国家统计局全国统计用区划代码和城乡划分代码Python爬虫样例
  11. 蓝牙调试器-划时代无线调试器
  12. HTML5---canvas 指针时钟-clock
  13. 最新价值800元的720全景云系统源码 可生成小程序带PC端 附新手搭建教程
  14. 鸿蒙系统(HarmonyOS)--第一章
  15. 高并发核心技术Redis系列(七)--------Jedis操作Redis
  16. 部署gitlab+gitrunner+nexus镜像仓库CI流水线配置
  17. leetcode:BFS/DFS--腐烂的橘子
  18. CMAKE_INSTALL_PREFIX
  19. win7笔记本外接显示器html,笔记本接显示屏如何设置_笔记本外接显示屏的图文教程-win7之家...
  20. 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...

热门文章

  1. python发行版是什么意思_致 Python 初学者
  2. QColor类的使用
  3. 幻想战姬PVP模拟器(二)
  4. 7.5.3 QListWidgetItem条目视图介绍
  5. 辛东方重组百花园传媒 人员大调整
  6. ABR与ASBR区别
  7. 基于微型计算机系统的实时时钟设计,基于单片机的DS12C887时钟芯片应用研究
  8. 寻找java兼职(全职)人员
  9. 企业如何规避劳务派遣中的法律风险?
  10. xm-select的简单使用