首页 > 其他分享 >复习之相对导入和绝对导入

复习之相对导入和绝对导入

时间:2023-05-19 16:44:45浏览次数:30  
标签:文件 复习 相对 py 绝对 导入 模块

目录

一、模块与包的使用

模块:

一个py文件,被别的py文件导入使用,这个py文件称之为模块,运行的这个py文件称之为脚本文件

包:

一个文件夹下有__init__.py

二、绝对导入和相对导入

再次强调:一定要分清楚谁是执行文件!!!
模块的导入全部以执行文件为准

绝对导入

from mymd.aaa.bbb.ccc.ddd import name  # 可以精确到变量名
from mymd.aaa.bbb.ccc import ddd  # 也可以精确到模块名

ps:套路就是按照项目根目录一层层往下查找
根据执行文件的路径,如果执行文件的导入文件中又有导入文件,而第二个导入文件不在根目录下,是找不到该文件的

相对导入

.在路径中表示当前目录
..在路径中表示上一层目录
..\..在路径中表示上上一层目录
不在依据执行文件所在的sys.path 而是以模块自身路径为准
from . import b
相对导入只能用于模块文件中 不能在执行文件中使用

ps:相对导入使用频率较低 一般用绝对导入即可 结构更加清晰

总结

  • 0 导入模块有相对导入和绝对导入,绝对的路径是从环境变量开始的
  • 1 导入任何模块,如果使用绝对导入,都是从环境变量开始导入起
  • 2 脚本文件执行的路径,会自动加入环境变量
  • 3 相对导入的话,是从当前py文件开始计算的
  • 4 以脚本运行的文件,不能使用相对导入,只能用绝对导入

标签:文件,复习,相对,py,绝对,导入,模块
From: https://www.cnblogs.com/yuezongke/p/17415682.html

相关文章

  • Java程序设计复习提纲(上:入门语法)
    目录上:基本语法与编译运行数据类型和关键字常用语法数组与字符串异常处理中:面向对象和类下:图形界面基本语法与编译运行java没有指针没有全局变量Java源代码文件的后缀名是".java"。编译后会生成一个或多个字节码文件,后缀名为".class"。Java的编......
  • Java复习
    整理笔记,层次分明智能医学的定义医、理、工高度交叉的学科人类医学发展的三个阶段经验医学、循证医学、智能医学(?)三种思维:医学-科技-融合第一时代是经验医学以个人经验为主,医生根据自己的实践经验、高年资医师的指导、教科书和医学期刊上零散的研究报告为依据来处理患......
  • 数据结构-基本算法复习
    数据结构-基本算法复习第八章排序插入排序直接插入排序:\(O(n^2)\)稳定排序将一条记录插入到已经排序好的有序表中:voidinsertSort(intr[],intlen){for(inti=2;i<=len;i++){if(r[i]<r[i-1]){ intx=r[i];for(in......
  • https证书如何导入
    提问https证书如何导入回答C#生成自签名证书varrsa=RSA.Create();varx500Name=newX500DistinguishedName("CN=[通用名],O=[公司],OU=[单位]");varreq=newCertificateRequest(x500Name,rsa,HashAlgorithmName.SHA256,RSASignaturePadding.Pkcs1);varsan......
  • mysql导出\导入数据库
    导出数据库mysqldump-upgms-ppgms-S/data/mysql_data/mysql/mysql.sock>pgms.sql;导出单表mysqldump-upgms-ppgms-S/data/mysql_data/mysql/mysql.sockt_organization>t_organization.sql;导入数据sourcet_bindinginfo.sql; ......
  • Java系列 | IntelliJ IDEA 如何导入和使用一个Jar包
    第一步:创建lib文件创建lib文件,统一管理导入的jar包(若已有lib文件,则直接可以进行第二步)文件名称命名为`lib`第二步:对lib文件建立依赖选择【File】→【ProjectStructure…】 在弹出的页面中选择【Modules】再选择此项目,点击右边的【Dependencies】,再选择下面的小加号,选择......
  • vb.net 实现excel导入的时候滚动显示导入的数据
     如果你想在Excel导入过程中滚动显示导入的数据,可以使用逐行读取Excel数据并在滚动窗口中显示。在VB.NET中,你可以使用Excel.Range对象逐行读取Excel数据,并将每行数据添加到滚动窗口(如ListBox或TextBox)中进行显示。以下是一个示例代码,展示如何实现逐行滚动显示Exc......
  • Mysql--数据的导入导出以及备份
    一、导入导出1.1、intooutfile(只导出数据)注意:mysql5.7+版本,secure_file_priv的值默认为NULL,即不允许导入或导出,需在/etc/my.cnf添加  secure_file_priv='' 或者  secure_file_priv='指定目录'  ,重启mysql1.1.1导出select*fromtable_nameintooutfile'f......
  • Oracle客户端导出服务端数据(数据泵)生成DMP文件并导入
    1.首先了解下EXPDP和EXP的区别   1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。   2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLEQ服务端使用,不能在客户端使用   3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件......
  • 2023中考复习小策略
    道法道法非选择题第一题一定是观点辨析题,三步走就可以多角度多主体作答最后一题要按照青少年的做法来答32题一定是时政辨析题倡议书按格式来写历史喻老师摸鱼多极化是一个趋势不会定型罗斯福变法可以关注维护资本主义,美国经济复苏,政府宏观调控这三点来答。数学题......