Python的包package的导入与被导入(包的类和方法的导入

系统 1457 0

包package 的导入与被导入:

参考一下:

https://blog.csdn.net/guowujun321/article/details/80764468

1.文件目录:

Python的包package的导入与被导入(包的类和方法的导入,__init__()怎么写)_第1张图片

|

|--  A/

| | __init__.py

| |A1.py

|

| B/

| |__init__.py

| |B1.py

|

| 测试A.py

问题1:在平行目录下的 测试A.py  想要导入A 包时,需要在 测试A.py  中写:

 

            
              from A 
              
                import *
                
                  
然后可以直接调用A包中的方法或者类(不需要写包名)
或者

                  
                    import
                    
                       A
A.ac()
a1=A.A_Class(
                      
                        "
                        
                          asd
                          
                            ")
                          
                        
                      
                    
                  
                
              
            
          

 

问题2:A包的__init__文件应该怎样写,例如要导如A1.py文件中的Class:

            
              import
              
                 os,sys
Path=os.path.dirname(os.path.abspath(
                
                  __file__
                  
                    ))
sys.path.append(Path)

                    
                      from A1 
                      
                        import * 
                        
                          #
                          
                            这一句是不可以用import A1这条语句的,因为在别的地方导入该A包的时候,会出错。(会出现未知命名错误),
                            
至于前面的三行代码是为了把A1所在目录导入path中,,让系统可以找到。

问题3:当B包中的B1.py文件需要导入A包时,该怎么导入:

            
              import
              
                 os,sys
Path=os.path.dirname(os.path.dirname(os.path.abspath(
                
                  __file__
                  
                    )))

                    
                      print
                      
                        (Path) sys.path.append(Path) 
                        
                          from A 
                          
                            import *
                            
                               a1=A_Class(
                              
                                "
                                
                                  张三
                                  
                                    "
                                    
                                      ) 我创建的A包中有一个类A_Class.当需要导入A包时,需要把A包的父目录添加到path中让系统可以找到。
                                    
                                  
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          

①采用from...import方式

from 包 绝对路径  from 模块py文件

from package.subpackage1 import foo1

from 模块 import 变量

from 包 import 子包

②采用import方式

import package.subpackage1

import 模块

总结:import和from 2个关键字后面 都可以是模块或者包

本测试代码链接:https://github.com/Anxc520/test1.git

Python的包package的导入与被导入(包的类和方法的导入,__init__()怎么写)_第2张图片

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论