Python
Python
GC-757
print("hello world")
展开
-
python itertools中的groupby方法按照key分组,同样的key分出了两个组问题。
除了数据的有序性外,还需要注意 groupby() 方法的工作原理。它是根据相邻的元素进行比较,如果相邻的元素的 key 相同,则将它们视为一组,否则将它们视为不同的组。在使用 itertools.groupby() 方法进行分组时,需要注意数据列表或迭代器的元素必须是有序的。否则,可能会出现无法正确分组或分组结果与预期不同的问题。因此,如果有两个相同 key 的元素不是相邻的,则它们被视为不同的组。原创 2023-04-23 12:01:18 · 777 阅读 · 1 评论 -
pip3 升级软件包时遇到超时错误解决方法
使用镜像加速器:第三方工具和平台,如腾讯/阿里云,提供了一些镜像加速器,使用这些镜像加速器可以加速软件包下载和安装。如果你在使用 pip3 升级软件包时遇到超时错误,可能是因为下载速度缓慢或网络不稳定。请注意,将超时时间设置得太长可能会导致软件包下载时间过长,建议根据网络环境和软件包大小调整超时时间。升级单个软件包:如果升级所有软件包速度较慢,可以考虑先升级单个软件包,然后逐个升级其他软件包。更改 pip3 源:你可以切换到其他 pip3 源,例如清华、阿里等等,以提高下载速度。参数来调整请求超时时间。原创 2023-04-07 10:11:23 · 1015 阅读 · 0 评论 -
python链接Oracle报错 DPI-1047解决方法
确认 Python 使用的 cx_Oracle 模块使用的是正确版本的 Oracle 客户端库。这个错误通常是由于系统无法找到正确的 Oracle 客户端库文件导致的。如果使用错误的版本,可能会导致 cx_Oracle 报错找不到 Oracle 客户端库。检查系统中是否已经安装了 Oracle 客户端程序,并且版本是兼容的。是 Oracle 客户端库的路径,可能因版本不同而有所不同。原创 2023-04-07 10:14:33 · 1994 阅读 · 2 评论 -
flask sqlalchemy 连接 DB2 数据库
flask-sqlalchemy 连接db2数据库原创 2022-06-27 18:15:22 · 874 阅读 · 0 评论 -
Python中typing 模块和类型注解的使用
类型注解在 Python 3.5 中,Python PEP 484 引入了类型注解(type hints),在 Python 3.6 中,PEP 526 又进一步引入了变量注解(Variable Annotations),所以上面的代码我们改写成如下写法:a: int = 2print('5 + a =', 5 + a)def add(a: int) -> int: return a + 1具体的语法是可以归纳为两点:在声明变量时,变量的后面可以加一个冒号,后面再写上变转载 2022-04-27 11:12:06 · 1761 阅读 · 5 评论 -
Ubuntu20.04 安装 JupyterLab
JupyterLab 是 Jupyter 项目的下一代基于Web的用户界面,根据官方文档,JupyterLab 最终将取代经典的Jupyter Notebook下面我们看一下如何在 Ubuntu Server 20.04 下安装 JupypterLab 吧准备工作安装最新版 Python3、pip3 及 nodejs,用 Anaconda 也可以安装JupyterLabpip3 install jupyterlab# 或者使用# conda install -c conda-forge .原创 2021-12-31 14:31:22 · 4815 阅读 · 0 评论 -
python3 +ip2region 离线IP库地址文件实现毫秒级查询ip地址信息
序言ip2regionip2region - 离线的ip地址查询库,ip到地区的映射库,提供二进制,B树,内存搜索三种查询算法,查询速度非常快。支持Java,PHP,C,Python,Nodejs,Golang,C#等语言,本文以Python为例前期准备在GitHub上克隆下来源文件地址- 下载完的文件:解压文件分别找到ip2region-master\data\ip2region.db和ip2region-master\binding\python\ip2Region.py创建原创 2021-12-23 11:55:37 · 4566 阅读 · 2 评论 -
python3 实现图片验证码
代码:from io import BytesIOfrom random import SystemRandom, randintfrom PIL import Image, ImageDraw, ImageFontimport base64class Captcha: char_collection = 'abcdefghijkmnopqrstuvwxyzABCDEFGHIJKMNOPQRSTUVWXYZ123456789' def __init__(self, widt原创 2021-12-12 23:25:11 · 542 阅读 · 0 评论 -
前端CryptoJS和后端(java python)crypto实现前后端密码加密解密功能
前端代码// 1. vue package.json 引入crypto-js的依赖:"crypto-js": "^4.0.0", // 导入import CryptoJS from 'crypto-js';// 这两个必须是16位前后端一致const key = CryptoJS.enc.Utf8.parse('FaceSunAweSome_K');const iv = CryptoJS.enc.Utf8.parse('FaceSunAweSomeIV'); // 加密const encr原创 2021-12-09 18:27:30 · 1591 阅读 · 0 评论 -
python3 neo4j 图数据库自定义类
neo4j图数据库python包下载pip3 install py2neo自定义neo4j数据库的python类from py2neo import Graph, NodeMatcher, RelationshipMatcher, Node, Relationshipimport uuidimport NEO4J_HOST, NEO4J_PORT, NEO4J_AUTHclass MyNeo4j: def __init__(self, host="127.0.0.1", port原创 2021-11-10 14:45:15 · 1559 阅读 · 0 评论 -
python3 实现rc4加密和解密
概括:在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。源码import codecsMOD = 256def KSA(key): """ Key Scheduling Algorithm (from wikipedia): for i from 0 to 255 S[原创 2021-10-26 15:36:13 · 1527 阅读 · 0 评论 -
python3 对比两个字典的差异
dict1 = {'a':1,'b':2,'c':3,'d':4}dict2 = {'a':1,'b':2,'c':5,'e':6} differ = set(dict1.items()) ^ set(dict2.items())print(differ)#所有差异#输出:{('c', 3), ('e', 6), ('c', 5), ('d', 4)}diff = dict1.keys() & dict2 diff_vals = [(k, dict1[k], dict2[k]) f原创 2021-10-14 10:09:55 · 1787 阅读 · 0 评论 -
pyenv 安装与使⽤
安装依赖⾸先安装常⽤ Python 依赖库,不然编译好的 Python 没有对应功能apt-get install libc6-dev gcc make build-essential libssl-dev zlib1g-devlibbz2-dev libreadline-dev libsqlite3-dev wget curl llvm openssl openssl安装 pyenvgit clone https://github.com/pyenv/pyenv.git ~/.pyenv原创 2021-09-17 12:18:53 · 156 阅读 · 0 评论 -
python使用@property @x.setter @x.deleter
@property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的。只有@property表示 只读。同时有@property和@x.setter表示 可读可写。同时有@property和@x.setter和@x.deleter表示可读可写可删除。class student: def __init__(self,id): self.__id=id @property #读 .原创 2021-09-09 09:42:44 · 147 阅读 · 0 评论 -
flask-sqlalchemy自定义自动提交事务的装饰器
代码from contextlib import contextmanagerfrom functools import wrapsfrom flask_sqlalchemy import SQLAlchemy as _SQLAlchemyfrom flask import Flaskclass SQLAlchemy(_SQLAlchemy): @contextmanager def auto_commit(self): """ 事务支持上下文管理器原创 2021-09-08 09:37:22 · 760 阅读 · 0 评论 -
Flask-SQLAlchemy中的分页
Flask-SQLALchemy的Pagination对象可以方便的进行分页, 对一个查询对象调用pagenate(page, per_page=20, error_out=True)函数可以得到pagination对象,第一个参数表示当前页,第二个参数代表每页显示的数量,error_out=True的情况下如果指定页没有内容将出现404错误,否则返回空的列表#从get方法中取得页码page = request.args.get('page', 1, type = int)#获取paginatio.原创 2021-09-08 09:32:34 · 2737 阅读 · 0 评论 -
linux下升级python版本至python3.9
环境deepin(linux) + python3.7(旧版本)下载源码包wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz我是下载python3.9,如果想安装其他版本,去python官网下载页面下载对应的版本即可。官网解压安装# 解压压缩包tar -zxvf Python-3.9.0.tgz# 进入文件夹cd Python-3.9.0# 配置安装位置./configure prefix=/usr/原创 2021-08-19 14:40:14 · 6579 阅读 · 2 评论 -
Python3多线程 守护线程和非守护线程
守护线程设置一个线程是守护线程,就说明这不是一个很重要的线程,对于这样的线程,只要主线程运行结束,就会直接退出。而如果一个线程不是守护线程的话,即使主线程运行结束也不会退出,而是等待所有的非守护线程运行结束,再退出。eg:import timeimport threading# 定义后台线程的线程执行体与普通线程没有任何区别def action(max): for i in range(max): print(threading.current_thread().原创 2021-06-30 11:11:09 · 451 阅读 · 0 评论 -
python3 通过sqlalchemy使用原生sql语句查询数据库
class democlass DbBase: def __init__(self, db_choice: str, db_user: str, db_password: str, host: str, port: int, db_name: str, pool_size=int(SQLALCHEMY_POOL_SIZE), max_overflow=int(SQLALCHEMY_POOL_MAX_SIZE), pool_recy原创 2021-06-25 17:16:09 · 1234 阅读 · 4 评论 -
Command “python setup.py egg_info“ failed with error code 1 in ....
问题下载psycopg2-binary时候报错:环境python3.7 + deepin解决方法依次执行一下命令:sudo apt-get install postgresqlsudo apt-get install python-psycopg2sudo apt-get install libpq-dev成功原创 2021-06-24 10:00:35 · 87 阅读 · 0 评论 -
python3 kafka生产者代码的实现
codeimport jsonfrom confluent_kafka import Producerimport argparseimport timeDOC = { "time": "2019-07-02 00:00:00", # 必填,发生时间 %Y-%m-%d %H:%M:%S "institution_code": "C1010511003703", # 必填,机构代码,14位金融机构编码,见8.1章节 "institution_short": "xx银行原创 2021-06-21 09:43:56 · 221 阅读 · 0 评论 -
python3 kafka 消费者代码的实现
codeimport jsonimport argparseimport loggingfrom confluent_kafka import Consumer, KafkaErrorlogger = logging.getLogger()CONSUMER = Nonedef stats_cb(stats_json_str): stats_json = json.loads(stats_json_str) print(f'consumer stats: {stats_js原创 2021-06-21 09:40:32 · 344 阅读 · 0 评论 -
python3 对时间的相关操作
代码:import timeimport datetimefrom datetime import timezonefrom dateutil.relativedelta import relativedelta, MOUTC_OFFSET = datetime.datetime.now().astimezone().tzinfo.utcoffset(None)def now(fmt="%Y-%m-%d %H:%M", utc=False): """ 取当前时间原创 2021-06-18 10:21:12 · 87 阅读 · 0 评论 -
python3中reduce()函数的使用方法
本文主要给大家介绍了关于python中reduce()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:reduce()函数在库functools里,如果要使用它,要从这个库里导入。reduce函数与map函数有不一样地方,map操作是并行操作,reduce函数是把多个参数合并的操作,也就是从多个条件简化的结果,在计算机的算法里,大多数情况下,就是为了简单化。比如识别图像是否是一只猫,那么就是从众多的像素里提炼出来一个判断:是或否。可能是几百万个像素,就只出来一个结果。在G原创 2021-06-07 10:26:12 · 1100 阅读 · 0 评论 -
python3 验证字符串是否为Base64编码的方法
Base64 encode 说明1.标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;2.base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);3.等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或24.严格来说base64不能算是一种加密,只能说是编码转换。使用bas原创 2021-06-02 10:06:57 · 3950 阅读 · 3 评论 -
pycharm自用插件推荐
说明:.ignore git忽略文件使用chinese 汉化highlightbracketpair 高亮括号等json parser json格式化material theme ui 主题rainbow brackets 彩虹括号原创 2021-04-29 14:04:11 · 401 阅读 · 0 评论 -
python:3.8.0-alpine3.10安装oracle_client遇到的问题和解决方法
问题1:安装cx-Oracle==8.1.0,报错。解决方案:安装gcc和musl-devapk add --no-cache gcc musl-dev\问题2:如何配置使用oracle_client,以下为dockerfile中的一部分提前准备:下载instantclient-basic-linux.x64-11.2.0.4.0.zip 官网# 首先设置环境变量ENV ORA_HOME=/home/oracle_cli \ TNS_ADMIN=/home/oracl原创 2021-04-16 18:25:49 · 621 阅读 · 0 评论 -
PyCharm设置sublime配色
配色效果图:在网上搜了一大圈,没有能看的一清二楚的,注意本次Pycharm版本是2018.1,如果是别的版本,基本设置也是大同小异~看图说话:File — Setting — Apperance & Behavior — Theme: DarculaFile —Setting—Editor—Color Scheme Font—Scheme—Monokai3. 备份原Monokai方案,会创建新的Monokai Copy方案,我们在Copy方案上修改。4. Setti原创 2021-04-15 10:16:35 · 554 阅读 · 0 评论 -
解决TypeError: Object of type ‘datetime‘ is not JSON serializable问题
1、问题描述使用python自带的json,将数据转换为json数据时,datetime格式的数据报错:TypeError: Object of type ‘datetime’ is not JSON serializable2、解决方法就是重写构造json类,遇到日期特殊处理,其余的用内置的就行。from datetime import date, datetimeclass ComplexEncoder(json.JSONEncoder): def default(self, obj原创 2021-04-13 09:37:59 · 4234 阅读 · 0 评论 -
sqlalchemy 原生sql查询 返回字典形式数据
在原生sql查询的时候,返回一个list,内部是tuple一般人会选择用下标取其中的数据这并不优雅results = db.execute("SELECT * FROM book limit 1")查询结果是一个list,在这个list中包含着许多 tuple,他们看似是tuple,实则并不是而是一个特殊的类型"<class ‘sqlalchemy.util._collections.result’>"这是一个 AbstractKeyedTuple 对象它拥有一个 keys(原创 2021-04-12 18:18:30 · 2008 阅读 · 0 评论 -
Selenium自动化之JS增删改查操作元素的属性
#JS增删改查操作元素的属性#新增属性driver.execute_script(“arguments[0].%s=arguments[1]” %attributeName,elementObj, value)#修改属性driver.execute_script(“arguments[0].setAttribute(arguments[1],arguments[2])”, elementObj, attributeName, value)#获取属性elementObj.get_attribute原创 2021-03-25 16:52:33 · 3271 阅读 · 0 评论 -
python cryptography 加密和解密
使用cryptography对字符串进行加密和解密加密代码:from cryptography.fernet import Fernetfrom config.basics_conf import CIPHER_KEY # CIPHER_KEY 需要自己生成# 可以使用Fernet.generate_key()方法进行生成如下秘钥# b'g0wL7y8gJZVNM5gp-zW95PaWHyADvt1VNdBuccza5ms='def encryption(password: str):原创 2020-12-19 09:40:06 · 6734 阅读 · 2 评论 -
使用pip批量更新
方法:查看可更新包: pip list --outdated --format=columns 批量下载并更新: pip install pip-review pip-review --local --interactive原创 2020-09-12 09:53:16 · 4494 阅读 · 0 评论 -
win10更改pip源
方法:在c:\user(或者用户)\电脑的用户名\ 下面新建一个pip的文件夹,进入文件夹新建一个pip.ini的文件,然后将下面内容复制到里面即可生效。code:[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=pypi.tuna.tsinghua.edu.cndisable-pip-version-check = truetimeout = 6000其他镜像源和pip的使用方法原创 2020-09-12 09:49:31 · 4833 阅读 · 0 评论 -
python -- 调用函数获取被调用函数的源码
调用函数获取被调用函数的源码import inspectdef called_fun(): """被调用函数""" print("this is called fun")def call_fun(): """调用函数""" source_code = inspect.getsource(called_fun) print(source_code) print(type(source_code))if __name__ == '__main_原创 2020-08-03 18:33:11 · 4811 阅读 · 0 评论 -
python代码获取mac地址
代码def get_mac(): import uuid mac = uuid.UUID(int=uuid.getnode()).hex[-12:].upper() print("%s:%s:%s:%s:%s:%s" % (mac[0:2], mac[2:4], mac[4:6], mac[6:8], mac[8:10], mac[10:]))原创 2020-06-04 11:32:31 · 4829 阅读 · 0 评论 -
判断两个时间段是否重合
两个时间段:first_start_time - - first_end_timesecond_start_time - - second_end_time两种方法否可以实现first_start_time <= second_end_time and first_end_time >= second_start_time(两个时间段可以联想成两个尺子,边间分别为开始时间...原创 2019-12-03 18:56:44 · 5581 阅读 · 0 评论 -
python--作用域
作用域:在python中,作用域分为两种:全局作用域和局部作用域。全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。关于作用域,我们要理解两点:a.在全局不能访问到局部定义的变量b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改)下面我们来看看下面实例:x = 1def funx(): x = 10 print...原创 2019-10-28 19:32:22 · 4351 阅读 · 0 评论 -
python中单例模式的实现方式
单例模式:单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。example:某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都...原创 2019-10-28 19:23:19 · 4302 阅读 · 0 评论 -
python--pip的使用
pip 安装库命令:pip install 库名称pip 更新库命令:pip install --upgrade 库名称pip 更新Python -m pip install --upgrade pip使用国内镜像安装库:例如:使用清华大学镜像pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy国内常...原创 2019-10-28 18:34:53 · 4367 阅读 · 0 评论