首页 > 编程语言 > 详细

Python学习笔记7 头文件的添加规则(转载)

时间:2018-04-19 22:45:31      阅读:204      评论:0      收藏:0      [点我收藏+]

转载自: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) ,会出现报错。

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

Python学习笔记7 头文件的添加规则(转载)

原文:https://www.cnblogs.com/alexYuin/p/8886359.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!