python函数应用(demo)
文章平均质量分 50
python一些demo应用
JSon liu
分享一些个人的工作经历和成长历程。
展开
-
Decimal().quantize() ——十进制定点和浮点运算
1. decimal.Decimal(value=‘0’, context=None)value 可以是整数,字符串,元组,float ,或另一个 Decimal 对象。 如果没有给出 value,则返回 Decimal('0')。如果 value 是一个字符串,它应该在前导和尾随空格字符以及下划线被删除之后符合十进制如果 value 是一个 tuple ,它应该有三个组件,一个符号( 0 表示正数或 1 表示负数),一个数字的 tuple 和整数指数。 例如, Decimal((0, (1, 4原创 2021-10-07 22:01:31 · 3525 阅读 · 0 评论 -
python之时间格式化
格式化法1:import timet = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))print(t)格式化法2:import datetimet = datetime.datetime.now()t = t.strftime('%Y-%m-%d %H:%M:%S')print(t)原创 2020-11-11 22:40:46 · 347 阅读 · 0 评论 -
python之随机生成一个手机号码
@staticmethod def random_phone_num(): """随机一个电话号码""" num_start = ['134', '135', '136', '137', '138', '139', '150', '151', '152', '158', '159', '157', '182', '187', '188', '1原创 2020-10-13 11:55:20 · 1221 阅读 · 0 评论 -
进程池应用——多任务文件夹copy器
进程池应用——多任务文件夹copy器# 用进程池import osimport multiprocessingdef copy_file(q, filename, old_folder_name, new_folder_name): old_f = open(old_folder_name + '/' + filename, 'rb') content = old_f.read() old_f.close() new_f = open(new_folder_na原创 2020-09-16 10:37:02 · 107 阅读 · 0 评论 -
多线程版udp聊天器
多线程版udp聊天器import socketimport threadingdef recv_msg(udp_socket): while True: # 4. 接收数据 recv_data = udp_socket.recvfrom(1024) print('%s:%s' % (str(recv_data[1]), recv_data[0].decode('gb2312')))def send_msg(udp_socket, des原创 2020-09-16 10:31:39 · 124 阅读 · 0 评论 -
防止sql注入——多个参数的使用
防止sql注入——多个参数的使用import pymysql#2. 创建连接对象#connect = Connection = Connect# 1)host:服务器主机地址# 2)port:服务器端口号3306# 3)user:用户名root/admin# 4)password 密码# 5)database :操作的数据库 mysql/pymysql_test# 6)charset:获取数据库编码格式:utf8if __name__ == '__main__': conn =原创 2020-09-16 10:24:59 · 303 阅读 · 0 评论 -
进程间通信——图片上传下载
进程间通信应用——图片上传下载# 进程间通信from multiprocessing import Process, Queuefrom time import sleepdef Download(q): images = ['a1.jpg', 'b2.jpg', 'aa.jpg', 'bb.jpg'] for image in images: print('正在下载:', image) sleep(0.5) q.put(image原创 2020-09-16 10:17:39 · 265 阅读 · 0 评论 -
re正则匹配模块
python re模块:\A:表示从字符串的开始处匹配\Z:表示从字符串的结束处匹配,如果存在换行,只匹配到换行前的结束字符串。\b:匹配一个单词边界,也就是指单词和空格间的位置。例如, 'py\b' 可以匹配"python" 中的 'py',但不能匹配 "openpyxl" 中的 'py'。\B:匹配非单词边界。 'py\b' 可以匹配"openpyxl" 中的 'py',但不能匹配"python" 中的 'py'。\d:匹配任意数字,等价于 [0-9]。 digit\D:匹配任意非数字字符原创 2020-09-16 10:13:33 · 389 阅读 · 0 评论 -
抛出异常——账号注册
抛出异常——账号注册# 抛出异常def register(): while True: username = input('请输入用户名:') if len(username) < 6: raise Exception('用户名长度必须大于6') elif len(username) > 20: raise Exception('用户名长度不能超过20') else:原创 2020-09-16 09:50:27 · 217 阅读 · 0 评论 -
自定义异常_密码长度不足则报异常
自定义异常_密码长度不足6位则报异常密码长度不足,则报异常(用户输入密码,如果输入的长度不足6位,则报错,即抛出自定义异常,并捕获该异常)。# 自定义异常类,继承Exceptionclass ShortInputError(Exception): def __init__(self,length,min_length): self.length = length self.min_length = min_length # 设置抛出异常的描述信息原创 2020-09-16 00:08:01 · 1571 阅读 · 0 评论 -
递归调用应用_复制的目录里再含有文件夹
递归调用_复制的目录里再含有文件夹import osdef copy(src, target): file_list = os.listdir(src) # 1. 获取文件夹里面内容 print(file_list) for file in file_list: # 2. 变量列表 path = os.path.join(src, file) # 3.拼接路径 if os.path.isdir(path): # 4. 判断是文件夹还是文件原创 2020-09-15 09:46:56 · 89 阅读 · 0 评论 -
os模块应用_复制的目录里全是文件
os模块应用_复制的目录里全是文件# 复制的目录里全是文件import ossrc = r'G:\BaiduNetdiskDownload\p2'target = r'G:\BaiduNetdiskDownload\p3'def copy(src_path, target_path): if os.path.isdir(src_path) and os.path.isdir(target_path): list_file = os.listdir(src_path)原创 2020-09-15 09:40:12 · 65 阅读 · 0 评论 -
python实现当前目录下任意文件备份
python实现当前目录下任意文件备份massage = '''用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为xx[备份]后缀,例如:test[备份].txt)。# 1. 接收用户输入的文件名# 2. 规划备份文件名 #2.1 提取目标文件后缀 #2.2 组织备份的文件名,xx[备份]后缀# 3. 备份文件写入数据 #3.1 打开源文件 和 备份文件 #3.2 将源文件数据写入备份文件 #3.3 关闭文件'''old_name =原创 2020-09-15 09:30:25 · 893 阅读 · 0 评论 -
python装饰器_付款前登录验证
# 装饰器应用# 登录验证# 1.定义一个登录函数import timeisLogin = False # 注意变量名采用驼峰式def login(): while True: username = input('请输入用户名:') password = input('请输入密码:') if username == 'admin' and password == '123456': return True .原创 2020-09-15 09:17:44 · 166 阅读 · 0 评论 -
python_万能装饰器
万能装饰器import timedef decorator(func): def wrapper(*args, **kwargs): print('正在校验中...') time.sleep(2) print('校验完毕...') # 调用原函数 func(*args, **kwargs) return wrapper原创 2020-09-15 09:08:21 · 180 阅读 · 0 评论 -
python函数嵌套调用_登录验证码校验
python函数嵌套调用_登录验证码校验import randomdef generate_checkcode(n): code = '' str = 'abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789' for i in range(n): ran = random.randint(0, len(str) - 1) code += str[ran] return原创 2020-09-15 09:05:08 · 299 阅读 · 0 评论 -
用python产生4位随机数
用python产生4位随机数import randomdef getrate_random(): list1 = [] for i in range(4): yan = random.randint(0,9) list1.append(yan) return str(list1)g = getrate_random()print(g)原创 2020-09-15 08:57:16 · 7070 阅读 · 0 评论 -
python实现获取随机验证码
python实现获取随机验证码# 获取验证码code = ''import randoms = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'# index :0~61for i in range(4): ran = random.randint(0,len(s)-1) code += s[ran]print('验证码是:{}'.format(code))# 用户输入num = input('请输入收到原创 2020-09-15 08:50:23 · 233 阅读 · 0 评论 -
python之_正则主要应用
匹配qq号:re.search('^[1-9][0-9]{4,10}$',qq)匹配用户名:写法1:re.match('^[a-zA-Z_0-9]{5,20}$',username)写法2:re.match('^\w{5,20}$',username)匹配邮箱:result1 = re.match(r'\w{5,20}@(163|126|qq|139)\.(com|cn)$',email)匹配手机号:result1 = re.match(r'1[35789]\d{9}$',phone).原创 2020-09-14 10:20:50 · 54 阅读 · 0 评论 -
python之_随机生成验证码:大小写字母与数字组合
python之_随机生成验证码:大小写字母与数字组合import randomdef func(): code = '' for i in range(4): ran1 = str(random.randint(0,9)) # 0~9之间的数字 ran2 = chr(random.randint(65,90)) # a~z的字母 ran3 = chr(random.randint(97,122)) # A~Z的字母原创 2020-09-14 10:04:53 · 3683 阅读 · 1 评论 -
python之_文件上传,只能上传图片
文件上传,只能上传图片(jpg,png,bmp,gif)while True: path = input('请上传文件:') P = path.rfind('\\') file = path[P+1:] if file.endswith('jpg') or file.endswith('png') or file.endswith('bmp') or file.endswith('gif'): print('图片上传成功!') break原创 2020-09-14 09:31:39 · 1388 阅读 · 0 评论 -
Jenkins发送邮件内容模板
Jenkins发送邮件内容模板<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>email_report</title></head><body><hr>(本邮件是程序程序自动下发的,请勿回复!)<br><hr>项目名称:$PROJECT_NAME<br&原创 2020-09-13 17:07:00 · 1218 阅读 · 0 评论 -
pymysql连接mysql数据库demo
pymysql连接mysql数据库demo# —— coding :utf-8 ——# @time: 2020/9/11 17:04# @IDE: xxxx# @Author: xxxx# @Email: xxxx@qq.com# @File: handlemysql.py# 导入pymysql模块import pymysql# 1.连接databaseconn = pymysql.connect( host="127.0.0.1",原创 2020-09-11 17:31:03 · 198 阅读 · 0 评论 -
python日志配置模块模板1
1. ⽇志的作⽤记录程序运⾏状态线上环境所有程序以 deamon 形式运⾏在后台, ⽆法使⽤ print 输出程序状态线上程序⽆⼈值守全天候运⾏, 需要有⼀种能持续记录程序运⾏状态的机制, 以便遇到问题后分析处理记录统计数据开发时进⾏ Debug (调试)2. 基本⽤法import logging# 设置⽇志格式fmt = '%(asctime)s %(levelname)7.7s %(funcName)s: %(message)s'formatter = logging.Form原创 2020-09-11 11:27:57 · 167 阅读 · 0 评论 -
30个极简python代码(demo)
30个极简python代码(demo)1重复元素判定以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。def all_unique(lst): return len(lst)== len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = [1,2,3,4,5]all_unique(x) # Falseall_unique(y) # True2字符元素组成判定检查两个字符串的组成元素是不是一样的。from collect原创 2020-09-11 11:03:03 · 8045 阅读 · 4 评论 -
Python之发送接收邮件模块
用Python来发送接收邮件模块python实现发送和接收邮件功能主要用到poplib和smtplib模块。poplib用于接收邮件,而smtplib负责发送邮件。# —— coding :utf-8 ——# @time: 2020/9/11 10:05# @IDE: xxxxx# @Author: xxxx# @Email: xxxxx@qq.com# @File: emali.pyimport sysimport timeimport poplibimport原创 2020-09-11 10:14:37 · 425 阅读 · 0 评论