
python3
混乱谜零
这个作者很懒,什么都没留下…
展开
-
pykafka 读取数据报缓存空间不足 struct.error: unpack_from requires a buffer of at least
pykafka 读取数据报缓存空间不足 struct.error: unpack_from requires a buffer of at least转载 2022-11-23 23:42:55 · 710 阅读 · 0 评论 -
python3 redis 分布式锁
前言介绍:使用Redis作为分布式锁的一些注意点 - 小勇DW3 - 博客园 (cnblogs.com)安装包:pip install redis代码import redisimport timedef 分布式锁_加锁(redis, 锁名, 加锁人, 超时时间_秒=30): rst = redis.set(name=锁名, value=加锁人, nx=True, ex=超时时间_秒) return rstdef 分布式锁_解锁(redis, 锁名, 加锁原创 2021-09-24 18:48:37 · 507 阅读 · 0 评论 -
python3 时区 时间戳 指定输入时间为东八区时间、北京时间
前言一般的时间字符串是这样的:2021-07-24 21:23:51*其实少了时区信息,只是默认为东八区所以也有这样写的:2021-07-24T21:23:51+08:00*那个+08:00就代表是东八区也有用unix时间戳的:1627133031.994444*时间戳就是当前时间距离1970-01-01 00:00:00的秒数,是一段时间。*虽然北京时间多了8小时,但是计算的时候起始时间也多了8小时,那就没影响了。*没有时区问题,但是机器看得了,人看不了,还是需要时原创 2021-07-24 22:03:15 · 8300 阅读 · 1 评论 -
python3 获取连续的excel列字母,比如A到AZ。以及对应字母和数字的转化。
核心是使用openpyxl工具类的字母、数字转换:from openpyxl.utils import get_column_letter, column_index_from_stringdef to_excel序号_字母(数字): if isinstance(数字,str): return 数字 return get_column_letter(数字)def to_excel序号_数字(字母): if isinstance(字母, int): r...原创 2021-05-10 18:09:34 · 1385 阅读 · 2 评论 -
python3在代码中指定变量类型
python3:(1)assert isinstance(变量, 类型)json = { # "fields": [ # 1,2,3 # ]}fields = json.get("fields")assert isinstance(fields,list)fields.count(3)fields.sort()(2)变量 #type: 类型fields = json.get("fields") #type: listjs:待续...原创 2021-04-29 11:12:29 · 677 阅读 · 0 评论 -
excel读取合并单元格的值,c#的NPOI,python3的xlrd
python3的xlrdfile_name = "./a1.xlsx"workbook = xlrd.open_workbook(file_name)sheet = workbook.sheets()[0]row = get合并单元格_整行(sheet, 行下标 = 3)import xlrddef get合并单元格(sheet, 行下标, 列下标): 单元格值 = sheet.cell_value(行下标, 列下标) merged = sheet.merged_cel原创 2021-03-29 14:58:39 · 929 阅读 · 1 评论 -
python3的list去掉指定项,以及多层list去掉指定项
(1)list.pop( 下标序号 ) # 序号从0开始,记得逆序删除(2)list.remove( 元素项)from u_工具 import stream,to_json_obj,to_json_strdef to_self(obj): return to_json_obj(to_json_str(obj))def list去掉指定项(数据源list, 序号列表, 序号从0开始=True, 元素值列表=None, 不改变原数组=True): i...原创 2021-03-29 11:27:17 · 1214 阅读 · 0 评论 -
python3在程序等待的时候打印计时点
-- 图上一个点代表1秒,一行15秒import timedef 每x行取第y行_生成器类(x, y): 行数 = -1 - (y - 1) while True: 行数 += 1 if 行数 % x == 0: yield True else: yield Falsedef 计时点_生成器类(隔几个点空格=5,隔几个点换行=10,输出的点="."): 每x行取第...原创 2021-03-24 11:00:59 · 551 阅读 · 1 评论 -
python3使用subprocess执行shell命令、导出docker镜像
subprocess.run(cmd, stdout=stdout, encoding=encoding, shell=shell, check=check, **kwargs).stdout文档:https://www.runoob.com/w3cnote/python3-subprocess.htmlfrom u_工具 import *import subprocessimport platformdef is_linux_system(): return 'linux' i.原创 2021-03-13 17:14:44 · 840 阅读 · 0 评论 -
oracle用表的字段注释,给视图的字段添加注释
from u_工具 import *dal = oracle()表名 = "student"视图名 = "view_student"用户名 = "admin"sql = f''' select t.column_name, t.comments from all_col_comments t where t.owner = upper('{用户名}') and t.table_name = upper('{表名}')'''lin.原创 2021-03-05 09:16:27 · 2348 阅读 · 2 评论 -
oracle用字段注释建立视图
from u_工具 import *dal = oracle()表名 = "student"视图名 = "view_" + 表名sql = f''' select t.column_name, nvl(t.comments,t.column_name) comments from user_col_comments t where t.table_name = upper('{表名}')'''lines = dal.exec(sql).lines原始列名.原创 2021-03-02 17:13:25 · 570 阅读 · 0 评论 -
python3 在linux上安装oracle client 解决cx_oracle的依赖问题 py连接oracle
1.安装oracle clientlinux:https://www.cnblogs.com/chenjianhong/archive/2013/06/08/4144771.html(1)下载clienthttps://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html我用11.2版本作示例(2)解压后,把libclntsh.so.11.1 复制并重命名为libclnts...原创 2021-01-25 12:58:31 · 490 阅读 · 1 评论 -
python3 装饰器模板 线程装饰器、计时装饰器
关于装饰器: 作用方面,类似于过滤器和拦截器,在原始函数执行前和执行后添加一些自定义逻辑。 实现方面,就是在装饰器参数中传入原始函数,由装饰器来控制原始函数的执行。装饰器写法:(1)线程模式_改:是装饰器包含自身入参的写法,三层结构;使用时要有(),@线程模式_改()(2)线程模式:是装饰器不需要参数的写法,两层结果;使用时没有(),@线程模式import threadingfrom concurrent import futuresfrom funct...原创 2021-01-23 00:11:37 · 300 阅读 · 0 评论 -
python3 获取整分钟数的时间,如间隔半小时
前言: 大体思路是,获取当前的整点时间和下一个整点时间,用时间间隔来分成多个区间,看看当前时间在哪个区间。假如当前是21:56, 时间间隔30分钟:21:00 <= x1 <21:30 <= x2 <22:00落在 x1,就取 21:00落在 x2,就取 22:00时间转换代码(u_工具),我写在上一篇博客:https://blog.youkuaiyun.com/u013595395/article/details/111772052...原创 2021-01-01 21:16:42 · 2230 阅读 · 0 评论 -
python3 日期时间转换,加减一段日期时间
一、转换time:datetime:图片来自:http://blog.sina.com.cn/s/blog_b09d460201018o0v.html这两张图可以解决大部分问题,但我想说的是下面这个二、转换和加减to类,to_xxx()支持的时间类型有4种:(1)datetime(2)时间字符串 +格式模板(3)时间戳(4)时间元组import timeimport datetime# region to_x# re...原创 2020-12-27 01:00:21 · 1260 阅读 · 3 评论 -
python3 dump和dumps、load和loads
dumps = dump_to_strloads = load_from_str另:dump= dump_to_fileload = load_from_file原创 2020-11-29 03:01:45 · 562 阅读 · 0 评论 -
python3 yield 每x行取第y行、每x个数字取任意个数字
设有一列表:字母列表 = [ "a","b","c","d", "a","b","c","d", "a","b","c","d", "a","b","c","d",]现在想每四个字母,取第一个字母(1)普通方式:行数 = -1def 每四行取第一行(): global 行数 行数 += 1 if 行数 % 4 == 0: return True else: return ...原创 2020-11-27 17:47:44 · 249 阅读 · 0 评论 -
python3 文件操作(列出、创建、删除、复制) 文件打开模式
文件打开模式(1)三种基本模式:r、w、ar 只读w 删除原文,只写a 保留原文(追加),只写(2)附加后缀b 表示二进制读写+ 表示额外赋予读写权限U 表示读取的换行全部改成\n(3)三种模式的不同无文件时: r 报错,w、a 新建是否清除原文:r 、a 否,w 是初始读取位置:r、w 开头,a 结尾# region fileSystemdef exist(文件全路径): return os.path.exists(文件全路径)..原创 2020-11-06 21:11:23 · 1380 阅读 · 2 评论 -
python3 分割文件,将大文件按行分割成最大某M的小文件
import os,json,platformfrom uuid import uuid1from u_工具 import 配置,打点,计时,序号,序号_重置print("———— 开始 ————")打点()# region 1.用来配置的变量config = { "输入目录": "./a_输入", "输出目录": "./b_输出", "小文件大小": 50 # 单位 M}config_filePath = "./配置文件2.json"关联表 = {.原创 2020-10-24 20:17:38 · 1422 阅读 · 0 评论 -
python3 获取变量名,在函数内部修改外部变量,修改local变量
目录1. 获取变量名2. 修改local变量2.0. 预期效果2.1. 利用 PyFrame_LocalsToFast 函数2.2. 直接使用 globals2.3. 利用 memmove 函数u. 工具类1. 获取变量名from u_工具 import to_变量名a = 1print(to_变量名(a))2. 修改local变量2.0. 预期效果将变量a的值改成5def main(): a = 2 def func(.原创 2020-10-24 19:45:41 · 805 阅读 · 0 评论 -
python3 读取配置文件,重载配置文件
前言:-- 配置 是一个变量,是一个全局类实例。-- 当前只支持json配置文件用法:1. 普通用法,读取并获值:(1)读取配置.加载( "配置文件路径" )(2)获值print( 配置.取值( "key字符串" ) )2. 高级用法,重载配置(1)设置数据源配置.设置数据源( "配置文件路径" )(2)设置数据源与变量的关联关系变量集 = { "a":"未赋值" } # 变量得放字典里,不然我改不了值,后续找...原创 2020-10-20 00:36:05 · 1169 阅读 · 0 评论 -
python3 大文件去重
一、生成待去重数据每行是固定位数的数字串import osfrom random import randint#-- from u_工具 import *print("———— 开始 ————")#-- 打点()# 用来配置的变量位数 = 13行数 = 500 * 10000输出目录 = "./a_输入"输出文件 = f"{输出目录}/随机数.txt"# 预处理_00 = "".join(["0" for i in range(位数 - 1)])_100 =原创 2020-10-18 00:31:48 · 1293 阅读 · 1 评论 -
python3 从一个字符串开头去除另一个字符串
以下是正则、replace和split三种方法:a = "/home/abc/"b = "文件名.txt"c = a + bprint(c)d = a# (1)正则match结果 = re.match(f"({d})([\s\S]*)", c)if match结果: print(match结果.group(2))# (2)replaceif c.startswith(d): print(c.replace(d,"",1))# (3)splitif c.sta原创 2020-10-17 15:21:11 · 1071 阅读 · 0 评论 -
python3 yield 生成器 介绍
def 分步函数(): print("开始执行") print("1") yield "这里是第一个断点" print("2") yield "第二个断点" print("3") yield "第三个断点" print("4") return "生成器其实停不下来,一停就报错"a = 分步函数()rst = next(a)print(rst)rst = next(a)print(rst)rst =.原创 2020-10-06 19:38:32 · 198 阅读 · 0 评论 -
python3 查询oracle,对cx_Oracle进行封装,并使用
使用方法:(1)新建连接dal = oracle()(2)执行sql语句sql = f''' SELECT * FROM a1'''dal.exec(sql).commit()(3)获取查询的行dal.rows # 元组结果dal.lines # 字典结果注:要手动commit()一、基础使用import datetimefrom b011 import *# dal = oracle()# 使用自定义配置oracle_..原创 2020-10-05 00:11:47 · 1456 阅读 · 1 评论 -
python3 查询mysql,对pymysql进行封装,并使用
使用方法:(1)获取连接:dal = mysql()(2)执行sql语句sql = f''' SELECT * FROM a1'''dal.exec(sql).commit()(3)获取查询的行dal.rows() # 或者dal.lines() # 这个我把结果转为了字典import datetimefrom a011 import *# dal = mysql()# 使用自定义配置mysql_conf = { "db".原创 2020-10-03 17:13:44 · 1170 阅读 · 0 评论 -
python3 requests爬虫
from bs4 import BeautifulSoupimport requestsimport os序号值 = 0def 序号(): global 序号值 if 序号值 > 50000: 序号值 = 0 序号值 = 序号值 + 1 return str(序号值) + ':'# 主函数的写法if __name__ == "__main__": # 补全请求头的信息 headers = { 'User.原创 2020-09-27 02:06:50 · 193 阅读 · 0 评论 -
python3 模块、import、from import
模块:1.模块就是.py后缀的文件2.py文件类似于一个类,包含以下部分:(1)导入。一般的类都有导入(2)变量。对应类属性(3)函数。对应类方法(4)类。对应内部类(5)if __name__ = '__main__'。对应主函数(6)顶格写的代码段。对应构造函数中的代码段import:1. import 模块名 (例如:import time)(1)首先创建一个变量,名字为模块名,如:time。(2)实例化模块,也就是实例化类,将其赋给上面的变量。这.原创 2020-09-25 00:40:47 · 600 阅读 · 0 评论 -
python3 流式计算
class Stream: def __init__(self, list=[]): if list: self.list = list def filter(self, lam): self.list = list(filter(lam, self.list)) return self def map(self,lam): self.list = list(map(lam, self.li.原创 2020-09-24 14:04:18 · 1642 阅读 · 0 评论 -
python3 打点计时
使用方法:(1)通过静态方法:计时工具.简单打点() 来记录当前时间。(2)打点两次后,使用 计时工具.简单计时().get可视化时间值() 来获取最近两次记录时间的差值。import timeclass 计时工具: class 时间值存储类: def __init__(self, 时间值 = 0): self.时间值 = 时间值 def get可视化时间值(self): return 计时工具.g.原创 2020-09-23 23:00:19 · 989 阅读 · 0 评论 -
python3 将两个time函数相减的秒数,转换为可读的天、小时、分钟、秒、毫秒
import timeimport mathclass 计时工具: @staticmethod def changeTime_ms(allTime,是否首次调用 = False): if 是否首次调用: allTime = allTime * 1000 day = 24 * 60 * 60 * 1000 hour = 60 * 60 * 1000 min = 60 * 1000 .原创 2020-10-05 01:20:01 · 2505 阅读 · 1 评论 -
python3 随机延时 线程序号
x,y是正整数delay_x_y_s( x,y )的意思是:先固定延时 x 秒再随机延时 0到y 秒delay_between_x_y_s 的意思是:随机延时 x到y 秒import timeimport random# x可以是小数,y必须是0或正整数# 延时区间,包前不包后class delay: # 固定延时x秒 @staticmethod def delay_x_0_s(fixed_delay_num): x = i...原创 2020-09-22 20:39:13 · 1867 阅读 · 0 评论 -
selenium webdriver 开启网页失败,被发现为爬虫,的解决办法
from selenium import webdriver # 为了防止你不确定自己的 chrom 版本,最好两个混合用options = webdriver.ChromeOptions()# chrom在79版之前用这个options.add_experimental_option("excludeSwitches", ["enable-automation"])options.add_experimental_option('useAutomationExtension', False).原创 2020-09-25 08:59:21 · 10889 阅读 · 8 评论 -
python3查看线程数量
import threadingdef loop(): while True: passthreading.Thread(target=loop, name='第一个线程').start()threading.Thread(target=loop, name='第二个线程').start()threading.Thread(target=loop, name='第三个线程').start()# 查看线程数量thread_num = len(threading...原创 2020-07-29 01:18:05 · 1788 阅读 · 0 评论 -
SystemHotkey快捷键对应表
小键盘是kp_0 到 kp_9 vk_codes= { 'a':0x41, 'b':0x42, 'c':0x43, 'd':0x44, 'e':0x45, 'f':0x46, 'g':0x47, 'h':0x48, 'i':0x49, 'j':0x4A, 'k':0x4B, 'l':0x4C,原创 2020-07-29 00:17:10 · 2287 阅读 · 0 评论 -
Python3安装包下载(附3.8.7、3.7.9、3.6.8版本)
三部曲(1)到http://code.chinaz.com/搜索Python并下载(2)到官网https://www.python.org/对应版本的页面,如:https://www.python.org/downloads/release/python-381/,查看md5值(3)用文件校验工具,如:win10软件商店中的Hash Checker,判断md5值是否一致...原创 2020-01-26 23:41:29 · 47687 阅读 · 2 评论 -
python3 — 读取以空格分隔的一行整数
已知个数下:a,b,c=map(int,input().split())未知个数:op=map(int,input().split())其中,input()用来获取输入的数据(作为字符串看待);input().split()以 空格 来分隔字符串,返回值是一个列表。另:input().split(',')以逗号分隔;map(参数一,参数二) 将参数一应用到参数...原创 2019-03-12 18:22:30 · 22790 阅读 · 0 评论