模块的定义&引入

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:woshinidaye
 4 '''
 5 模块:从逻辑上组织python代码,本质就是.py文件
 6 python package:带有一个__init__.py文件的文件夹
 7 ''''''
 8 
 9 模块的引入
10 方法一:
11 from test import *
12 #这等于是把test函数中定义的代码复制到了当前文件;所以引用方法就变了,直接引用直接的test中的函数即可
13 
14 方法二:
15 import test
16 #这样引入,test中的函数就变成了test模块的一种用法
17 #引用方式是test.XXXXX
18 
19 方法一容易出现模块的修改,和混用。
20 from test import logger as test_loggger
21 
22 python package是一堆模块的集合,用了组合模块。
23 导入package
24 import package_test #其实就是在解释包下面的__init__.py文件
25 '''
26 
27 
28 import os,sys
29 # print(__file__) #这是获取文件的相对路径,因为pychomre是通过绝对路径执行,所以显示为绝对路径
30 base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
31 sys.path.append(base_dir)       #导入了ATM这个python package就能将改目录下的 子python package直接引用了
32 print(base_dir,sys.path)
33 sys.path.insert(0,base_dir)  #查询环境变量时按照顺序查询的,这样可以优先查到。
34 # import conf,main  #直接这样好像会报错,因为我导入的是一个包!!导入一个包只会执行这个包下面的__init__.py文件,而不会执行导入包下面的其他模块!!!!
35 
36 #方法一:from xxx  import xxxx
37 from atmconf import test
38 sys.path.insert(0,base_dir)
39 
40 方法二:修改__init__.py
41 from .  import test
复制代码

 

posted @   woshinidaye  阅读(93)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
点击右上角即可分享
微信分享提示