一、新建一个包(两种方法)
方法一:先新建一个空目录命名为"小功能包",然后在新建的目录下新建一个空__init__.py(目的是声明当前目录是一个包)
方法二:直接在PyCharm用鼠标依次点击File --> New --> Python Package,然后命名为"小功能包"
二、新建一个模块
在PyCharm用鼠标依次点击File --> New --> Python File,然后命名为"验证码.py"
三、在自定义模块"验证码.py"编写代码,源码如下:
"""
获取验证码模块
"""
# 获取验证码 ========================================================
class verify_code:
__int_list = [] # 用于存储数字
__str_list = [] # 用于存储字母
__all_list = [] # 用于存储数字和字母
# 列表添加元素 ---------------------------------------------------
@classmethod
def __list_append(cls):
# 初始化清空
cls.__int_list = []
cls.__str_list = []
cls.__all_list = []
# 获取0-9数字
for i in range(10):
cls.__int_list.append(str(i))
# 获取26个大小写字母
for i in range(26):
cls.__str_list.append(chr(ord('a')+i))
cls.__str_list.append(chr(ord('A')+i))
# 把数字和字母列表集合到一起
cls.__all_list.extend(cls.__int_list)
cls.__all_list.extend(cls.__str_list)
# 获取列表元素 ---------------------------------------------------
@classmethod
def get_list_element(cls, list, int):
import random
code = ''
for i in range(int):
code += random.choice(list)
return code
# 纯获取数字验证码 --------------------------------------------------
@classmethod
def int_sequence(cls, int=6):
cls.__list_append() # 列表添加元素
# 获取列表的元素
return cls.get_list_element(cls.__int_list, int)
# 获取纯字母验证码 --------------------------------------------------
@classmethod
def str_sequence(cls, int=6):
cls.__list_append() # 列表添加元素
# 获取列表的元素
return cls.get_list_element(cls.__str_list, int)
# 获取数字和字母验证码 ---------------------------------------------
@classmethod
def verify_code(cls, int=6):
cls.__list_append() # 列表添加元素
# 获取列表的元素
return cls.get_list_element(cls.__all_list, int)
# 代码测试 =============================================================
if __name__ == '__main__':
print(verify_code.int_sequence())
print(verify_code.str_sequence())
print(verify_code.verify_code())
else:
print(f'导入"{__name__}"模块')
四、包里的模块如何应用,源码如下:
from 小功能包.验证码 import verify_code
print(verify_code.int_sequence())
print(verify_code.str_sequence())
print(verify_code.verify_code())
运行结果:
导入"小功能包.验证码"模块
105636
CEqAsj
uOHG5t
作者:周华
创作日期:2023/10/11