Python接口自动化内置功能应用

随机产生数据

random.random()#用于生成一个 0 到 1 的随机浮点数。
random.randint(a,b)#用于生成一个最小值是 a,最大值是 b 区间的整数
random.randrange(a,b,c)#用于生成一个最小值是 a,最大值是 b 区间,并且指定递增为 c 的整数,比如要取一个 100 内的双数,则可以写成 random.randrange(0,100,2),即在范围[2,4,6…100]的列表中随机产生一个整数
random.choice(a)#从集合 a 中获取一个随机元素,a 可以是字符串、元组、列表
注册需要用到手机号码,可以通过 random.randint(a,b) 来随机生成一个手机号,手机号的特征
2 个,即 13 开头并且是 11 位数字
import random
mobile = random.randint(13000000000,13999999999)
print (mobile)
除了随机手机号码,还可以随机指定的字段,比如性别的男女、学历
# -*- coding: utf8
import random
e = ("小学","初中","高中","大学")#定义一个元祖
education = random.choice(e)#从元组 s 之中随机选择任意一个元素
print (education)

日期的获取和计算

datetime 模块下有好几个子模块,主要的是以下 2 个。
datetime.date :表示日期的模块。
datetime.datetime :表示日期、时间的模块

date 模块

from datetime import *# datetime 模块下导入所有子模块
now = date.today()#通过 date 模块的 today()函数获取当前日期,并赋值给变量now
print (now)

执行结果

获取日期后还可以通过获取日期的属性得到对应的值
1 from datetime import *
2 now = date.today()
3 now_year = now.year#将当前日期的年份值赋值给变量 now_year
4 now_month = now.month#将当前日期的月份值赋值给变量 now_month
5 now_date = now.day#将当前日期的日期值赋值给变量 now_date
6 now_weekday = now.isoweekday()#将当前日期的星期值赋值给变量 now_weekday
7 print (now)
8 print (now_year)
9 print (now_month)
10print (now_date)
11print (now_weekday)

执行结果

date 模块能对日期做加减,以达到填入特定日期的目的,这时 候需要引入 timedelta() 函数,其作用在于将间隔时间做加减,这个函数可以指定间隔时间的单位,可以 是天,也可以是小时、分钟、秒等,只需要在参数中加上指定的单位以及对应的值即可对时间做计算。
实例代码

 

1 from datetime import *
2 now = date.today()
3 tomorrow = now+timedelta(days=1)# 将当前日期加上 1 天,并赋值给变量 tomorrow
4 yesterday = now-timedelta(days=1)#将当前日期减去 1 天,并赋值给变量 yesterday
5 next_week = now+timedelta(days=7)# 将当前日期加上 7 天,并赋值给变量 next_week
6 print (now)
7 print (tomorrow)
8 print (yesterday)
9 print (next_week)

datetime 模块

date 模块只能对日期进行获取和操作,那么如果要对时间进行获取和操作呢?这时候就要用
datetime 模块(虽然和主模块重名,但由于属于子模块,根据导入的模块层级不同是不会冲突
的),这个模块是 date 模块的引申,模块下也可以通过 today() 函数获取时间,区别在于 datetime
获取的是完整的时间,而 date 获取的仅仅是日期。
1 from datetime import *
2 now = datetime.today()#通过 datetime 模块的 today()函数获取当前时间,并赋值给变量 now
3 print (now)
虽然 today() 支持时间获取,但其命名也容易引发歧义,所以建议使用 dateime 下面的 now() 函数, 其功能和 today() 一样,区别只是在于可以支持不同时区的时间获取,默认可以不填,就是当前时区。
实例代码:
1 from datetime import *
2 now = datetime.now()
3 print (now)
同样获取时间后也可以根据其属性获取相应的指定数据, 比如只需要获取当前日期或者获取不带日期的时间。
1 from datetime import *
2 now = datetime.now()
3 now_date = now.date()#将当前时间的日期值赋值给变量 now_date
4 now_time = now.time()#将当前时间的时间值赋值给变量 now_time
5 print (now)
6 print (now_date)
7 print (now_time)
时间也可以通过 timedelta() 进行加减,不同之处在于对于日 期只能加减日期,即参数只能是 days ,而时间加减的参数还可以 是 hours minutes seconds 等。
1 from datetime import *
2 now = datetime.now()
3 next_hour = now+timedelta(hours = 1)
4 print (now)
5 print (next_hour)

数据加密

内置的 Hashlib 模块是一个加密模块,主要提供 SHA1 SHA224 SHA256 SHA384 SHA512 、 MD5 算法。 http 请求 post 的内容其实可以通过抓包获取,极为不安全,所以往往会将 post 的数 据加密后再发送,其用户密码或者比较隐私的信息都会以加密的方式存到数据库。下面就来介绍 如何对数据进行加密。 一般最常用的就是通过 md5 对数据进行加密。
实例代码:
1 import hashlib
2 md5 = hashlib.md5(b"123456")#通过hashlib 下的md5()函数对密码进行加密,并将加密结果赋值给变量md5(因为计算 md5 哈希时,需要使用字节形式的字符串,而非普通字符串,所以需要通过 bytes 函数将字符串再次转换)。
3 password_md5 = md5.hexdigest()#通过 hexdigest()获取加密后的结果,并赋值给变量 password_md5
4 print (password_md5)

执行结果

 除了 md5 算法,最常用的还有 sha512 算法,其用法和 md5 是类似的

1 import hashlib
2 sha512 = hashlib.sha512(b"123456")#通过 hashlib 下的 sha512()函数对密码进行加密,并将加密结果赋值给变量 sha512
3 password_sha512 = sha512.hexdigest()#通过 hexdigest()获取加密后的结果,并赋值给变量password_sha512。
4 print (password_sha512)
执行结果

txt 文件的读写

文件打开

无论是读文件,还是写文件,都需要先将文件打开,通过 Python 内置的 open 方式打开,语法如下:
变量 = open (文件路径,文件打开模式)
文件打开模式有以下几种。
r 以只读的方式打开。
r+ 以读写的方式打开。
w 以写入的方式打开,会覆盖原有文件的所有内容,如果不存在,则新建文件。
w+ 以读写的方式打开,会覆盖原有文件的所有内容,如果不存在,则新建文件。
a 以写入的方式打开,不会覆盖原有文件的内容,追加写入到文件的最后,如果不存在,
则新建文件。
a+ 以读写的方式打开,不会覆盖原有文件的内容,追加写入到文件的最后,如果不存在,
则新建文件。
b 以二进制的方式打开,可以结合 r w a 使用。
U 支持所有的换行符号

 文件读取

read() 读取文件的所有内容。
readline() 读取文件的第一行内容。
readlines() 读取文件的每一行内容。
通过实例来看一下这 3 种的差异, read() 方法
1 file = open("G:\\python\\shuju.txt", "r")#选择 txt 文件对应的路径,以只读方式打开,并实例化赋值给变量 file。
2 result = file.read()#通过 file 对象的 read()方法把文件结果读出,并赋值给变量 result。
3 print (result)
4 file.close()

文件写入

 write() 将全部内容一起写入文件。
writelines() 把列表内容逐行写入文件。
追加写入
file = open("G:\\python\\shuju.txt", "a+")
file.write("xxx"+"\n")
替换写入
file = open("G:\\python\\shuju.txt", "w+")
file.write("yyy"+"\n")
file.write("zzz"+"\n")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值