文件位置

文件所在位置包括 ,

  • 源根目录的位置

  • 该文件位置(也可以叫相对位置)。

导入包的时候会从文件位置进行查找,并导入。

导入包

1. 什么是包?

  • pycharm中包的图片

其中文件夹上有个圆点的就是包。没有的就是普通文件夹

  • 包的特征

    包一定含有__init__.py文件

2. 如何导入包

以下称

main_script 包为A包

main_property 为 B文件

你以为直接import "包名" 就好了吗。其实不是。这只是第一步。第二步我们需要在包里面创建__init__.py 文件并且在里面写要导入什么内容

如果我想在run.py里边使用A包里的B文件

3. 示范

  • 示例:

    • 目录结构

    • 导入语句

      import main_script
  • A包下的__init__文件内容:

    • 情况1:什么也不写,让我们看看它导入了什么

      • 结论

        实际上A包里边没有一个文件(除了__init__.py)被导入
    • 清况2:写入如下代码。

      • 结果

      • 结论

        A包里的相关文件和方法被导入

  • 总结:

导入包的时候,添加__init__内容其实就是初始化导入__init__里要导入的文件。如果什么都不写其实是和没有该文件是一样的。

  • 删掉__init__文件后

可以看到和之前第一个只是创建了__init__文件但是没有写内容一样。是没有导入任何我们写的东西的。所以等于没用

python——如何import包目录的更多相关文章

  1. python入门-PyCharm中目录directory与包package的区别及相关import详解

    一.概念介绍 在介绍目录directory与包package的区别之前,先理解一个概念---模块 模块的定义:本质就是以.py结尾的python文件,模块的目的是为了其他程序进行引用. 目录(Dict ...

  2. ## Python中的Package和Jupyter中import包问题

    前言 关于python包的一些知识 Java中的package概念 我们知道在java中的import package概念, java中的包就是一个目录,里面包含着子目录,子目录套着子目录,当需要引入 ...

  3. python之import模块及包的调用

    模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. ...

  4. 解决python中import时无法识别自己写的包和模块的方法

    我们用pycharm打开自己写的代码,当多个文件之间有相互依赖的关系的时候,import无法识别自己写的文件,但是我们写的文件又确实在同一个文件夹中, 这种问题可以用下面的方法解决: 1)打开File ...

  5. python import 上级目录(转)

    python import 上级目录  有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networks目录下的_lst ...

  6. python模块及包的导入

    一.模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc".&q ...

  7. Python之扩展包安装

    读者朋友,在比较新的版本(Python 2 >=2.7.9 or Python 3 >=3.4)中,pip或者easy_install 扩展包命令已经默认安装(可查看   你的安装目录\p ...

  8. python 的import机制2

    http://blog.csdn.net/sirodeng/article/details/17095591   python 的import机制,以备忘: python中,每个py文件被称之为模块, ...

  9. python之import机制

    1. 标准 import        Python 中所有加载到内存的模块都放在 sys.modules .当 import 一个模块时首先会在这个列表中查找是否已经加载了此模块,如果加载了则只是将 ...

随机推荐

  1. 面试题详解:如何用Redis实现分布式锁?

    说一道常见面试题: 使用Redis分布式锁的详细方案是什么? 一个很简单的答案就是去使用 Redission 客户端.Redission 中的锁方案就是 Redis 分布式锁的比较完美的详细方案. 那 ...

  2. 服务器安装centos8提示显示器不支持输出的分辨率

    今天机房老服务器安装CENTOS8时启到到引导界面,显示器就提输出分辩率为1920*1080 60MHZ ,这怎么能支持.本想装了显卡来装,拆机一看我去不支持. 后来在网上一查才知道有解决方案. 可以 ...

  3. MySQL8.0降级安装5.7

    本文旨在自我学习使用,如有任何疑问请及时联系博主 前言 基于OpenHarmony的FA数字管家服务端 默认情况下,Ubuntu20.04安装MySQL的版本为8.0.但8.0更加严格的加密规则,使得 ...

  4. centos7安装mysql(完整)

    安装包下载并上传到Linux系统中 官网5.7版本:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-b ...

  5. CSS自定义属性与前端页面的主题切换

    基于级联变量的CSS自定义属性,已经出来很多年了. 虽然有less.sass等预处理器大行其道,但是自定义属性也有它的特点和用处,诸如在js中读写.作用域设置等等,在处理UI主题切换等功能上也发挥着很 ...

  6. 数据库原理 之MySQL

    数据库种类: 关系型数据库: mysql 专注于数据安全 和功能 ,存取时 会有表的结构化操作解析sql语句---- 丢给磁盘存取 ----取出,结构化成表 常用关系型数据库产品介绍oracle数据库 ...

  7. Docker容器入门实践

    Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 ...

  8. [FromBody]List<string> 用PostMan如何请求

    在MVC项目,写了一个API方法,如下: /// <summary>/// 测试/// </summary>/// <param name="idList&qu ...

  9. Vue中图片的加载方式

    一.前言 VUE项目中图片的加载是必须的,那么vue中图片的加载方式有哪些呢,今天博主就抽点时间来为大家大概地捋一捋. 二.图片的加载方法 1.在本地加载图片(静态加载) 图片存放assets文件夹中 ...

  10. VT 入门番外篇——初识 VT

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...