Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

自动化系列五之Python模块

$
0
0

python自动化 时间:2016.08.18

模块

模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑),本质就是.py结尾。

1.为什么要有模块

将代码归类,代码调用,代码整洁度,以及架构设计非常重要。

2.Python导入模块依据

导入 import sys
sys.path

3.模块名称的不要和内置模块冲突

模块定义 模块导入

导入单个模块

importmodule1_name 调用方法: module1_name.logger#模块下面的logger方法

导入多个模块

importmodule1_name,module2_name 调用方法: module1_name.brrier#模块1下面的brrier方法 module2_name.logger#模块2下面的logger方法

导入所有模块

frommodule1_nameimport * #不建议用 frommodule1_nameimportv1,v2,v3#导入多个模块中的变量 frommodule1_nameimportname#导入模块中的name变量 调用方法:

导入相同模块

from sys import as sys_path#别名防止冲突 from lib import as lib_path#别名防止冲突

导入模块本质

导入模块的本质就是把python文件解释一遍 导入包的本质就是执行这个包下的__init__.py文件 内置模块 importtime importsys importos importrandom random模块 #!/usr/bin/env python # Author:xuliangwei #4位验证码功能 importrandom checkcode= '' foriinrange(5): current=random.randrange(0,5) ifcurrent==i: tmp=chr(random.randint(65,90)) # 大写字母 else: tmp=random.randint(0,9) checkcode+=str(tmp) # 数字 print(checkcode) os模块 sys模块 shelve模块 hashlib模块 re模块 re.match#用的少 re.search re.findall#没有group方法 re.split re.sub 开源模块 1.两种安装方式 pip3安装 pip3 install requests 源码安装 cd xx python3 setup.py install XML模块 PyYAML模块 configparser模块 自定义模块 json

json更加适合跨语言,字符串,基本数据类型

序列化:将数据类型转化成字符串。

反序列化:将字符串在反序列化为Python的基本类型

将Python基本数据类型转化成字符串形式

#!/usr/bin/env python # Author:xuliangwei importjson dic= {'k1':'v1'} print(dic,type(dic)) result=json.dumps(dic) print(result,type(result))

执行结果:

{'k1': 'v1'} <class 'dict'> {"k1": "v1"} <class 'str'>

将Python字符串形式转化成基本数据类型

#!/usr/bin/env python # Author:xuliangwei importjson s1= '{"k1": "v1"}' importjson dic=json.loads(s1) print(dic,type(dic))

执行结果:

{'k1': 'v1'} <class 'dict'> importjson li= [11,22,33] json.dump(li,open('db','w')) json.load(open('db','r')) print(type(li),li) pickle

pickle仅适用于Python Python所有类型的序列化,仅适合序列化

支持任何数据类型

importpickle li= [11,22,33] r=pickle.dumps(li) #dumps print(r) result=pickle.loads(r) #loads print (result) pickle.dump(li,open('db','wb')) #dump result=pickle.load(open('db', 'rb')) #load print(result,type(result)) time log

Viewing all articles
Browse latest Browse all 9596

Trending Articles