python代码中 from . import ××× 是什么意思?
包内的文件相互导入分两种,用绝对路径和相对路径,用.或者..都是第二种,相对路径。
重点是,相对导入的路径依赖于当前模块的_name_,是根据它的“值”去找平级或者上级文件。
假设该from . import x
语句存在于proj/test.py
中,它会导入同级目录下的__init__.py
即proj/__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 ××× 是什么意思?相关推荐
- python import random函数-Python代码中的“import random”是什么意思?
匿名用户 1级 2017-12-02 回答 导入python提供的random这个库. Python代码例子 1.输入三个变量,然后按小到大输出 [python] view plain copy x ...
- mpython 直接访问_如何从python代码中直接访问Android的Service
在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制.但是在Python对象和Java对象中转来转去总让人感觉到十分别扭.好在android提供了b ...
- python代码中添加环境变量
比如命令行需要: export MASTER_PORT=5678 在python代码中就是: import osos.environ['MASTER_PORT'] = '5678'
- 在python代码中调用vba宏的四种方法
在python代码中调用vba宏 工作以python为主体,但是遇到了一些word操作的需求(详见上一篇),这个需求用word自带的功能会很容易实现,于是就想着能不能用python调用宏来处理. 网上 ...
- Python代码中的数学之美:从自由落体到爬虫悖论,十分钟开启数学思维
数学思维,就是用数学的方式去解决问题,就象吃饭用筷子.喝水用杯子一样,自然而然又理所当然.数学思维并非知识的积累,而是一种由特定思维习惯蕴育而成的能力--这种特定习惯的养成,往往是从解决看似简单的问题 ...
- python代码中疯狂print影响python性能吗?print是io吗?结论是做代码性能测试千万不要疯狂print,否则结果严重不准确,性能大幅下降。...
很多人做性能测试,吧print打开,吧log调到debug级别并使用了streamhandler,那就会疯狂打印到控制台. 打印控制台会影响代码性能吗?这是毫无疑问的,python print会严重影 ...
- 判断火车票座位python代码_12306 火车票监控Python代码,12306python, import u
12306 火车票监控Python代码,12306python, import uimport urllib.request as request import http.cookiejar as c ...
- python另存为excel_为什么不能从python代码中“另存为”Excel文件?
我有一条蟒蛇 ExcelDocument 类,它为读取/写入/格式化Excel文件提供了基本的方便方法,而我在看似简单的Python代码中遇到了一个奇怪的错误.我有一个储蓄和 saveAs 方法: d ...
- Python代码中的三大常见“愚形”,你中招了吗?
愚形,是围棋的专业术语,凡是效率低下且不美观的棋形,统称为愚形.比如空三角和团子,就是典型的愚形.低水平棋手经常会在无意中走出愚形,而那些高手平棋手,尽管在生死存亡的危机时刻也会用愚形求生或者逃命,但 ...
最新文章
- [小明学算法]3.启发式搜索算法----A*算法之我见
- bmp文件格式详细解析
- ALV的SAP自带标准程序实例
- composer update 的时候提示the requested PHP extension pcntl is missing from your system.的方法处理
- RabbitMQ 高可用集群搭建及电商平台使用经验总结
- ArcGis开发过程中遇到HRESULT:0x80040213错误
- php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程
- python文本格式_python处理文本文件并生成指定格式的文件
- 编程求一个四位自然数ABCD,它乘以A后变成DCBA
- 国家统计局全国统计用区划代码和城乡划分代码Python爬虫样例
- 蓝牙调试器-划时代无线调试器
- HTML5---canvas 指针时钟-clock
- 最新价值800元的720全景云系统源码 可生成小程序带PC端 附新手搭建教程
- 鸿蒙系统(HarmonyOS)--第一章
- 高并发核心技术Redis系列(七)--------Jedis操作Redis
- 部署gitlab+gitrunner+nexus镜像仓库CI流水线配置
- leetcode:BFS/DFS--腐烂的橘子
- CMAKE_INSTALL_PREFIX
- win7笔记本外接显示器html,笔记本接显示屏如何设置_笔记本外接显示屏的图文教程-win7之家...
- 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...