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()

  

 作业

 

posted @   minseo  阅读(342)  评论(0编辑  收藏  举报
编辑推荐:
· 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代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示