资讯专栏INFORMATION COLUMN

如何在python中import

sunsmell / 2741人阅读

摘要:用法同一个路径下的文件这是关键字最基本的用法可以理解为直接将的语句复制到对应的代码段的基本用法很多时候实现某一个功能的模块的代码需要分在几个中文件中写可以将这些功能写在一个的中所谓就是一个包含了的路径文件结构如下在包的中定义了方法在在和同路

用法 1.import同一个路径下的.py文件.

这是import关键字最基本的用法,import moudle1可以理解为直接将module1.py的语句复制到对应的代码段.

2.import package的基本用法.

很多时候实现某一个功能的模块的代码需要分在几个.py中文件中写,可以将这些功能写在一个python的package中,所谓package就是一个包含了__init__.py的python路径.
文件结构如下

package1/
    __init__.py
    module_1.py
    module_2.py
    module_3.py
test_pac.py

在package1包的module1.py中定义了"say方法"
在module_1.py

def say():
    print "this is module1.py"

在和package同路径下的test_pac.py中引用module1

from package1 import module_1
module_1.say()
3.在package中使用相对导入

很多时候package中各个模块中也需要互相引用.

例如

package1/
    __init__.py
    Class/
        __init__.py
        class1.py
        class2.py
        class3.py
    Student/
        __init__.py
        student1.py
        student2.py
test_package1.py

在class1.py中写入以下代码

def say_class():
    print "class1"

在class1.py中定义了一个say_student()函数,想在Student路径下的student1.py中引用.

from ..Class.class1 import say_class
def say_student():
    print "student1"
    say_class()
if __name__=="__main__":
    say_student()
 

直接运行module_21.py中的代码会报错

ValueError: Attempted relative import in non-package

在包(package)中使用了相对引用的.py文件只能以模块方式运行

python -m module_21

或者在包(package)中的文件引用,比如在test_package1.py实现以下代码

from Student.student1 import *
say_student()
say_class()

这个时候

>>> python test_pac.py
    student1
    class1

代码运行成功

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37886.html

相关文章

  • Python之将Python字符串生成PDF

    摘要:笔者在今天的工作中,遇到了一个需求,那就是如何将字符串生成。比如,需要把字符串这是测试文件生成为该中含有文字这是测试文件。   笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件’生成为PDF, 该PDF中含有文字‘这是测试文件’。  经过一番检索,笔者决定采用wkhtmltopdf这个软件,它可以将HTML转化为...

    Freelander 评论0 收藏0
  • 如何使用Python制作网络爬虫

    摘要:在近几年迅速咋程序界掀起了不小的波澜,而关于的第三库也使广大程序员趋之若鹜,今天我们就由浅入深的探讨一下如何使用做一个网络爬虫来抓取一些页面信息。 Python在近几年迅速咋程序界掀起了不小的波澜,而关于python的第三库也使广大程序员趋之若鹜,今天我们就由浅入深的探讨一下如何使用python做一个网络爬虫来抓取一些页面信息。今天我们使用的库(包含python自身携带的库和第三库) ...

    时飞 评论0 收藏0
  • 如何使用Python制作网络爬虫

    摘要:在近几年迅速咋程序界掀起了不小的波澜,而关于的第三库也使广大程序员趋之若鹜,今天我们就由浅入深的探讨一下如何使用做一个网络爬虫来抓取一些页面信息。 Python在近几年迅速咋程序界掀起了不小的波澜,而关于python的第三库也使广大程序员趋之若鹜,今天我们就由浅入深的探讨一下如何使用python做一个网络爬虫来抓取一些页面信息。今天我们使用的库(包含python自身携带的库和第三库) ...

    binaryTree 评论0 收藏0
  • Python Mock的入门

    摘要:准确的说,是中一个用于支持单元测试的库,它的主要功能是使用对象替代掉指定的对象,以达到模拟对象的行为。下面我们使用对象在单元测试中分别测试访问正常和访问不正常的情况。 Mock是什么 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西。准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python...

    Winer 评论0 收藏0
  • Python内置模块和第三方模块

    摘要:的强大之处在于他有非常丰富和强大的标准库和第三方库模块,几乎你想实现的任何功能都有相应的库支持,就类似于中的类库亦或的包,前端中的库。提供了一个简单的方法来导入一个模块中的所有项目。在启动时,根据内建规则变量进行初始化。 Python的强大之处在于他有非常丰富和强大的标准库和第三方库(模块),几乎你想实现的任何功能都有相应的Python库支持,就类似于C#中的类库亦或JAVA的jar包...

    codercao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<