zoukankan      html  css  js  c++  java
  • Python:导入自定义模块

    在C语言里为了工程文件的主程序main代码简洁的效果,我们经常用include“XXX”的来导入其.h文件

    在Python里Import自己的自定义模块需要注意几个坑

    以main主函数和需要导入的halo模块为例:

    一、一般Import只需要将main.py和halo.py放在同一个文件夹即可成功导入

    '''
    main.py里直接导入使用即可
    '''

    import halo halo.hello('kumata') #输出hello,kumata

    二、当不在同一个文件夹的时候,在halo的文件夹(kk)里命名__init__.py文件

    __init__.py文件相当于一个标记作用,一个文件夹中包含这个文件,那么该文件夹在Python中被定义为Module,__init__.py中可以什么都不写,只要存在就行了。

    '''
    要注意主程序里import的写法(加了__init__.py之后kk就是一个package了)
    '''

    from kk import halo halo.hello('kumata') #输出 hello,kumata

    三、使用sys在path中加入模块的路径

    需要自己定义模块的存放位置就要先添加自己的路径到sys.path,通过sys.path.append(‘dir’)来添加自己的模块存储路径,其实就是像目录列表中添加一个元素

    '''
    以halo.py为例子
    halo.py的路径为:C:UsersBEARDesktopTraining5.函数kk
    
    '''
    
    import sys
    sys.path.append(r'C:UsersBEARDesktopTraining5.函数kk')
    
    from kk import halo 
    
    halo.hello('kumata')
    #hello, kumata
    
    
    
    #也可以查看path都有哪些
    print(sys.path)
    '''
    ['C:\Users\BEAR\Desktop\Training\5.函数', 'C:\Users\BEAR\Desktop\Training', 'C:\Users\BEAR\Desktop\Training\venv\Scripts\python37.zip', 'C:\python\DLLs', 'C:\python\lib', 'C:\python', 'C:\Users\BEAR\Desktop\Training\venv', 'C:\Users\BEAR\Desktop\Training\venv\lib\site-packages', 'C:\Users\BEAR\Desktop\Training\venv\lib\site-packages\setuptools-39.1.0-py3.7.egg', 'C:\Users\BEAR\Desktop\Training\venv\lib\site-packages\pip-10.0.1-py3.7.egg', 'C:\Users\BEAR\Desktop\Training\5.函数\kk']
    '''
    #可以看到python的所有检索范围,而排在第一位的就是当前目录
  • 相关阅读:
    python025 Python3 正则表达式
    python024 Python3 实例
    python023 Python3 标准库概览
    python022 Python3 面向对象
    python021 Python3 错误和异常
    列表和元组的元素不可被修改,但列表和元组的元素的元素可以被修改
    织梦标签
    自动添加QQ
    php把时间存入数据库为年月日时分秒类型
    PHP后台批量删除数据
  • 原文地址:https://www.cnblogs.com/kumata/p/9355989.html
Copyright © 2011-2022 走看看