zoukankan      html  css  js  c++  java
  • Python学习笔记7 头文件的添加规则(转载)

    转载自:https://www.cnblogs.com/taurusfy/p/7605787.html

    ***************************************************************************************************

    以下是正文:

    一个python项目中一个文件需要引用另一个文件中的类,遇到的几个问题,总结如下:

    • 情况一:在同一目录下

    目录结构:

       |--a.py
       |--b.py
       |--main.py
    

      

    在main.py中,需要引用a.py和b.py中的类:

    from a imoport *
    from b imoport *
    

      

    • 情况二:主路径下调用子文件夹中的类

    目录结构:

       |--a
           |---a.py
       |--b
           |---b.py
       |--main.py
    

      

    在main.py中,需要引用a.py和b.py中的类,a,b为文件夹。但是直接这样引用会报错

    from a.a imoport *
    from b.b imoport *
    

      

    解决方法是在a,b文件夹中增加 __init__.py 文件

    目录结构:

       |--a
           |---__init__.py
           |---a.py
       |--b
           |---__init__.py
           |---b.py
       |--main.py
    

      

    • 情况三:不同文件夹之间的调用

    目录结构:

       |--a
           |---__init__.py
           |---a.py
       |--b
           |---__init__.py
           |---b.py
       |--main.py
    

      

    b中调用a中的类,或者a中调用b中的类

    在b.py中

    import sys
    sys.path.append('E:\testnow\project\a')
    import a
    

      

    linux和window的路径格式不一样,该方法适用于所有跨文件夹调用情况,但要注意路径格式。

     

    • 文件调用时出现的同一模块重复调用问题

    目录结构:

    |--a
        |---__init__.py
        |---a.py
    |--b
        |---__init__.py
        |---b.py
    |--main.py
    

      

    比如a.py中调用了

    from time import * 
    from datetime import datetime
    

      

    而且main.py中import了a:

    from a.a import *
    

      

    那么main.py中可以直接使用time(),datetime()相关函数,不需要再import了

    此时如果main.py中 import time,并且这样调用相关函数time.time() 或time.sleep(1) ,会出现报错。

    即使重复调用时,也要保证调用的一致性。

  • 相关阅读:
    MDX查询语句
    MyEclipse 点击 部署 按钮 无效
    C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
    SSIS – 变量和表达式
    使用 SSIS Foreach Loop 容器 – Foreach Item Enumerator
    SSIS – For Loop Container
    SSIS 中的文件系统任务 (File System Task)
    TypeError: parse() got an unexpected keyword argument 'transport_encoding' 安装tensor后报错
    np基本函数大全
    使用OpenCV对图像进行缩放
  • 原文地址:https://www.cnblogs.com/alexYuin/p/8886359.html
Copyright © 2011-2022 走看看