Python之模块
模块是实现某一个功能所有代码的集合
模块有两种存在方式
1,.py文件
2,文件夹
Python有两种模块,一种是内置的模块,一种是用户定义的模块4
导入内置模块
import sys
导入模块的某一个模块
from sys import argv
系统默认寻找模块的位置
sys.path
如果导入的是一个文件夹必须要有一个文件
__init__.py
一般情况这是一个内容为空的文件
内置模块
一,os
用于提供系统级别的操作
os.getcwd() 获取当前的工作目录
os.chdir('dirname') 改变工作目录
os.curdir() 获取当前目录
os.pardir()获取当前目录的父目录字符串名
os.mkdir('dirname')生成当前目录
os.rename() 重命名
os.system('ls') 执行命令
.
.
等等
二,sys
用于提供对解释器相关的操作
sys.argv 命令行参数
sys.exit(n) 退出程序
sys.version 解释器的版本
sys.maxint 最大Int值
sys.path 返回模块的搜索路径
sys.paltform 获取操作系统平台
使用模块获取配置文件关键字信息
vim day5-12.py
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read( 'i.cfg' ) # #############读取############# secs = config.sections() print secs |
vim i.cfg
1 2 3 4 5 6 7 | [section1] k1 = 123 k2 = alex [section2] name = eric age = 18 |
执行结果
vim day5-12.day
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read( 'i.cfg' ) # #############读取############# secs = config.sections() print secs options = config.options( 'section1' ) print options |
获取key
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read( 'i.cfg' ) # #############读取############# secs = config.sections() print secs options = config.options( 'section1' ) print options items_list = config.items( 'section1' ) print items_list |
获取到key和values
val = config.get('section1','k1')
print val
直接拿到val
PS:这里拿到的是字符串
sec = config.has_section('liuyueming')
sec = config.add_section('liuyueming')
config.write(open('i.cfg'),"w"))
查看有没有 添加 然后写入文件
加密模块
vim day5-13.py
1 2 3 4 5 6 | #!/usr/bin/python # -*- coding:utf-8 -*- import md5 hash = md5.new() hash .update( 'admin' ) print hash .hexdigest() |
PS:md5在下一个版本已经废弃了
新版本全部使用了hashlib了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/usr/bin/python # -*- coding:utf-8 -*- import md5 hash = md5.new() hash .update( 'admin' ) print hash .hexdigest() import hashlib hash = hashlib.md5() hash .update( 'admin' ) print hash .hexdigest() hash = hashlib.sha256() hash .update( 'admin' ) print hash .hexdigest() hash = hashlib.sha384() hash .update( 'admin' ) print hash .hexdigest() |
PS:MD5等加密是不可逆的,但是可以通过撞库反解可以通过定义一个key生成的md5就几乎无法反解了
1 2 3 4 5 | import hashlib hash = hashlib.md5( 'liuyueming' ) hash .update( 'admin' ) print hash .hexdigest() |
python还有一个很hmac模块,内部对创建的key和内容进行在处理
vim day5-14.py
1 2 3 4 | import hmac h = hmac.new( 'liuyueming' ) h.update( 'hellowo' ) print h.hexdigest() |
作业
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!