今天是学Python的第三天,今天上课的内容:
1.with上下文管理
辅助文件处理的,内部可以帮我们自动关闭文件-内部自动执行f. close()
2,常用模块
0s与操作系统交互的模块time时间模块
random模块
-json第三方数据格式模块-hashlib密码加密模块-openpyxl操作Excel文件的模块
3.爬虫基本原理
4. requests爬虫库
os模块是一个与操作系统交互的模块
m
import 0S #导入os模块
# 1)获取当前py文件"02 os模块。py" 所在的文件夹路径;# oS. path. dirname( )
DIR = OS. path. dirname(_ file_ )
print (DIR)
# 2)路径的拼接oS. path. join()
#在Day03下拼接一个db文件夹目录, 但是db文件夹并没有创建db_ path = 0S. path. join(DIR,'db')
print(db_ path)
# 3)创建文件夹: os. mkdir()
#注意:若文件夹已存在,则会报错
# 4)判断当前文件夹是否存在,若不存在则创建,存在则不创建# os.path.exists(文件路径)
if not os.path.exists(db_ _path): #若db文件夹不存在0S. mkdir(db_ path)
# 1)获取时间戳
#获取1970到现在的秒数
start_ time = time. time( )
print(start_ time)
# 2)等待10秒
time. sleep(10) # 让程序在此处等待10秒
end_ time = time. time( )
print (end_ time )
print('一共消耗了[%s]秒! % (end_ time - start_ time))# 3)输出格式化时间,可以让人直接看懂的时间格式
#%Y:年
#%m:月
#%d:日
#%H:时
#%M:分
#%S:秒
#获取格式化的当前时间
print(time.strftime( '%Y-%m-%d %H:%M:%S' ) )
# %X: 时:分:秒
print(time.strftime( '%Y-%m-%d %X' ) )
#定义:生成随机验证码函数
def get_ code(n): # n:代表生成验证码的个数
生成验证码规则:
每次循环
1.随机获取一个大/小写英文字母
2.随机获取一个0-9之间的数字
3.将随机抽取出来的任意个字母或数字放入列表中4.通过random. choice()随机选择个
5.循环结束后,生成字符串验证码
#初始化生成的验证码
code=''
#根据n验证码个数做循环次数
for line in range(n): # n就是循环的次数,也是验证码的长度
#注意:获取英文字母,可以根据ascii表中对应的数值进行获取#随机获取一个大写英文字母
# ascii: 65-90
#随机抽取65-90之间的整数,然后交给chr来获取大写英文字母upper_ num = chr( random. randint(65, 90))
#随机获取一个小写英文字母
# ascii: 97-122
#随机抽取97-122之间的整数,然后交给chr来获取小写英文字母lower_ num = chr( random. randint(97, 122))
#随机获取一个0-9之 间的整数
#将整型改为字符串类型
number = str( random. randint(0, 9))
#组织了一个由随机大小写字母和0 -9之间整数的列表
code_ list = [upper_ num, Lower_ num, number]
#随机从列表中抽取一个值
code_ str = random. choice(code_ list)
#做验证码的字符串拼接
#只能做字符串之间的拼接,否则报错
code += code_ str
return code
中联网工业平,又活定取有可道的乐四i Python:
产生的数据,只能提供给Python使用;Java:
产生的数据,只能提供给Java使用;
问题:由于不同语言生的数据无法实现共享,导致数据价值无法最大化;
解决:利用一种所有语言的程序员都认识的(第三方数据格式来存储不同语言产生的数据
引子: -在互联网企业中,数据是最有价值的东西;Python:
产生的数据,只能提供给Python使用;
Java :
产生的数据,只能提供给Java使用;
问题:由于不同语言产生的数据无法实现共享,导致数据价值无法最大化;
解决:利用一种所有语言的程序员都认识的"第三方数据格式"来存储不同语言产生的数据;- json第三方数据模块:
序列化:由Python程序产生的Python数据 -->然后转换成Json数据
-->保存到硬盘中(保存到硬盘前,必须先转为str类型) ;
反序列化:从硬盘中将j son格式的st r类型数据读取出来-->
将json格式的str数据--> 转为Python数据类型;