1.sys模块常用方法
#sys.path # 查看模块搜索路径以列表显示
# print(sys.path)
# sys.version # 查看当前python版本
# print(sys.version)
# sys.argv # 自动获取命令行参数列表,第一个参数是自己程序名
# print(sys.argv)
import sys
input_file = 'E:\文件1'
output_file = 'E:\文件2'
if len(sys.argv)==3:
input_file = sys.argv[1]
output_file = sys.argv[2]
elif len(sys.argv)==2:
input_file = sys.argv[1]
print(input_file,output_file)
2.os模块常用方法
# os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
# os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd
# os.makedirs('dir1/dir2') # 可生成多层递归目录
# os.removedirs('dir1/dir2') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
# os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname
# os.rmdir('dirname') # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
# os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
3.os模块路径操作方法
# os.path.abspath(path) # 返回path规范化的绝对路径
# os.path.split(path) # 将path分割成目录和文件名二元组返回
# os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False
# os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False
# os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False
# os.path.join(path1,path2) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
4.time时间模块
- 时间戳 time.time()
1970年1月1日之后的秒 - 休眠时间: time.sleep(t) t -- 推迟执行的秒数。
5.datetime 模块
import datetime
print(datetime.datetime.now()) # 获取当前时间
#datetime日期输出格式化
# 1. datetime => string
# strftime是datetime类的实例方法。
import datetime
now = datetime.datetime.now()
date_string = now.strftime('%Y-%m-%d')
print(type(date_string),date_string) #<class 'str'> 2024-06-16
tetime日期字符串转为日期对象
# 2. string => datetime对象
# strptime是datetime类的静态方法。
t_str = '2019-03-05 16:26:23'
date_obj = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
print(type(date_obj),date_obj) #<class 'datetime.datetime'> 2019-03-05 16:26:23
6.random 随机数模块
# print(random.random()) # 随机0~1范围内的小数
# print(random.randint(1, 10)) # 随机1~10之间的整数
# print(random.randrange(5, 10,2)) # 可以有开始值,结束值,步长
# print(random.choices([1,2,3,4])) # 从列表中随机去一个值
lists = [1,2,3,4,5,6]
random.shuffle(lists) #打乱列表
print(lists)
print(random.sample(lists,3)) #3代表几个 #随机从列表里选值
生成四位验证码
import random
code = ''
for i in range(4):
if random.choice([True, False]): # 随机决定生成字母还是数字
temp = chr(random.randint(65, 90)) # 生成大写字母
else:
temp = str(random.randint(0, 9)) # 生成数字,并转换为字符串
code += temp
print(code)
7.hashlib加密模块
import hashlib
# MD5 示例
md5 = hashlib.md5() # 实例化MD5
md5.update("你好".encode("utf-8")) # 更新哈希对象
print(md5.hexdigest()) # 打印十六进制哈希值
# 尝试再次更新和打印哈希值将会导致AttributeError,因为md5对象已经被消耗
# md5.update('世界'.encode("utf-8"))
# print(md5.hexdigest())
# SHA-1 示例
import hashlib
# sha 1算法
h = hashlib.sha1()
# 要计算的元数据必须是字符串格式
# 字符串对象需要encode转换为字节串对象
h.update("你好".encode())
# 产生哈希值对应的bytes对象
resultBytes = h.digest()
resultHex = h.hexdigest()
print(resultHex)