`
dacoolbaby
  • 浏览: 1267512 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Python中的import和from import

阅读更多


 一、Python路径介绍

在python用import或者from...import来导入相应的模块。

模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。

这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。

 

二、搜索路径

Python会在以下路径中搜索它想要寻找的模块:

1. 程序所在的文件夹

2. 标准库的安装路径

3. 操作系统环境变量PYTHONPATH所包含的路径

 

import sys
print('================Python import mode==========================');
print ('The command line arguments are:')
for i in sys.argv:
    print (i)
print ('\n The python path',sys.path)

from sys import argv,path  #  导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

如果你要使用所有sys模块使用的名字,你可以这样:

from sys import *
print('path:',path)

 

三、Python项目结构

所以在Python项目里面的区分,按照如下规定进行:

1.严格区分包和文件夹。包的定义就是包含__init__.py的文件夹。

如果没有__init__.py,那么就是普通的文件夹。

2.导入package。 

在python 安装目录的site-package文件夹中新建xxx.pth,内容是需要导入的package所在的文件夹路径。

3.导入模块。

就是一般的模块导入写法,注意只要包路径,不要文件夹路径。

 

以上面工程为例,

总共有4个包,分别是:package,package1, package2, folder2.(注意,folder1不是package,因为它没有__init__.py)。

这些包所在的文件夹共有两个,test以及test/folder1。  注意,package2所在的文件夹是test,虽然它是包含在folder2里面,但是folder2是一个包,不是一个文件夹。

因此在site-package中新建一个XXX.pth, 里面添加上test以及test/folder1的绝对路径即可。

 

模块导入比较简单,只要依次填包名就可以了,但注意只要包名
如果需要导入module2,则import folder2.package2.module2

如果需要导入module1,则import package1.module1   注意,路径中没有folder1,因为folder1是文件夹,不是包。

 

 

 

  • 大小: 22.1 KB
分享到:
评论

相关推荐

    python中import与from方法总结(推荐)

    模块:所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from)。 包(package): 包是更大的组织单位,用来组织区别管理多个模块文件。 import 用来导入模块 from 用于从模块...

    Python import与from import使用及区别介绍

    Python程序可以调用一组基本的函数(即内建函数),比如print()、input()和len()等函数。接下来通过本文给大家介绍Python import与from import使用及区别介绍,感兴趣的朋友一起看看吧

    Python import用法以及与from...import的区别

    在 Python 编程中,`import` 和 `from...import` 是两种常用的模块导入方式。它们可以帮助程序员引入其他 Python 文件(即模块)中定义的功能,如函数、类等,以便在当前程序中复用这些功能。 #### 一、`import` ...

    python import

    在Python编程中,`import`语句是用于引入其他模块或包的关键字,这使得代码可以复用和组织。当你需要在不同的文件夹结构中导入`.py`文件时,了解正确的导入策略至关重要。以下是一些关于如何在Python中正确导入跨...

    Python使用import导入本地脚本及导入模块的技巧总结

    在Python编程中,`import`语句是连接不同代码文件的关键,使得我们能够重用和组织代码。本文将深入探讨如何使用`import`来导入本地脚本以及导入模块,同时提供实用技巧和注意事项。 首先,当需要导入位于同一目录下...

    python3 解决cannot import name '_AES'问题

    在Python编程环境中,有时我们可能会遇到“cannot import name '_AES'”这样的错误,尤其是在尝试导入`Crypto.Cipher.AES`模块时。这个问题通常出现在使用了`pycryptodome`库或者`pycrypto`库尝试进行AES加密解密...

    from gne import GeneralNewsExtractor

    from gne import GeneralNewsExtractor是怎么样使用的,python代码。 from gne import GeneralNewsExtractor是怎么样使用的,python代码。 from gne import GeneralNewsExtractor是怎么样使用的,python代码。 from ...

    python-import的规则.docx

    Python的import语句是程序组织和模块化的核心,它允许我们从不同的文件中引入功能,以便在当前脚本中重用代码。理解import的工作机制对于编写高效、可维护的Python程序至关重要。 首先,我们要理解模块搜索路径。当...

    Python 模块 3_模块导入_import和from_import语句详解和区别.mp4

    Python 模块 3_模块导入_import和from_import语句详解和区别.mp4

    python3 报错cannot import name '_AES'

    在Python编程环境中,有时我们可能会遇到“cannot import name '_AES'”这样的错误,尤其是在尝试使用像`Crypto.Cipher.AES`这样的加密库时。这个错误通常意味着Python无法找到 `_AES` 这个内部模块或者动态链接库...

    解决python中import文件夹下面py文件报错问题

    ### 解决Python中Import文件夹下PY文件报错问题 在Python编程中,经常会遇到从一个模块或包中导入另一个模块的需求。然而,在处理不同层级的文件夹结构时,可能会出现`ModuleNotFoundError`等错误。本文将详细介绍...

    详解Python中import机制

    <module 'module_name' from 'E:\\PythonImport\\module_name.py'> ``` 可以看到,`module_name`被成功导入,并且打印出了模块的类型和路径。 #### 七、总结 通过本文的介绍,我们可以看到Python中的`import`机制...

    pycharm中import呈现灰色原因的解决方法

    ### PyCharm中Import呈现灰色的原因及解决方法 在使用PyCharm进行Python开发时,开发者可能会遇到一种常见的情况:即在尝试导入自定义模块时,PyCharm将`import`语句显示为灰色,并提示“No Module”错误。这种情况...

    python import搜索路径与重新导入

    其中,Import 机制是 Python 中非常重要的一部分,它允许开发者导入其他模块并使用其中的函数和变量。然而,很多开发者可能不知道 Python Import 搜索路径和重新导入机制的工作原理。在本文中,我们将详细介绍 ...

    导致python中import错误的原因是什么

    在Python编程语言中,`import`语句是用于引入外部模块的关键字,使得程序能够访问其他模块中的功能。然而,不正确的使用方式可能导致各种import错误。...通过遵循这些原则,可以有效地避免和解决Python中的import错误。

    import, from...import,import...as的区别.pdf

    本文将详细解释在Python中使用import语句导入模块的几种不同方式,包括直接导入(import)、从模块中导入特定部分(from...import)以及导入模块时为其设置别名(import...as)的区别和用法。 首先,直接使用import...

    from lxml import etree

    在Python编程环境中,`lxml`是一个非常强大的库,它提供了高效的XML和HTML处理功能。`etree`是`lxml`库中的一个模块,它实现了XML和ElementTree API,使得解析、创建和操作XML文档变得简单易行。在尝试使用`from ...

    python SIX包

    `six`提供`six.raise_from()`来兼容这种变化,使得在Python 2和Python 3中抛出异常的方式保持一致。 4. **导入兼容**:在Python 2中,我们可以使用`import x`或`from x import y`来导入模块或成员。而在Python 3中...

Global site tag (gtag.js) - Google Analytics