自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 单机MongoDB升级4.2 > 4.4 > 5.0

简单概括几个步骤就是:检查版本-下载新版本-解压缩-停止MongoDB服务-替换文件-重启MongoDB服务。

2023-02-08 18:24:05 2517 1

原创 MySQL WITH与json_table联合使用产生报错1210 - Incorrect arguments to JSON_TABLE

mysql的with与json_table联合使用报错

2022-06-29 19:46:49 1257

原创 SQLAlchemy Column对象中的default与server_default区别

一张图说明SQLAlchemy的Column对象中的default与server_default区别

2022-03-15 16:23:18 2723

原创 MySQL的JSON_TABLE同时展开两个json数组字段时NULL值的处理

同时展开两个json数组字段a,bidab1[1,2,3][11, 22]2[4,5]“null”3[6,7]NULL4[8,9][]SELECT* FROMJSON_TABLE(a, '$' COLUMNS( NESTED PATH '$[*]' COLUMNS( unfold_a int PATH '$' ))) t1,JSON_TABLE(b, '$' COLUMNS( NESTED PAT

2021-07-30 00:03:55 1538

原创 navicat打开MongoDB中别名aliases的显示问题

用Navicat打开MongoDB数据库GridFS,存储桶中有个为别名的字段,要想在这里显示出来,需要存文件信息的时候这样存:from pymongo import MongoClientfrom gridfs import GridFSdb = MongoClient('mongodb://user:password@127.0.0.1:27017')[db_name]fs = GridFS(db, table_name)file_id = fs.put(data=file_content,

2021-06-24 15:15:27 522

原创 对非时间戳存储的字段进行以时间戳格式筛选

时间戳的时间范围筛选等价方式对于数据库中是datetime类型的字段,以下三种方式等价```sqlSELECT * FROM `api`.`api_user` WHERE `user_time` BETWEEN '2021-03-03 17:05:50' AND '2021-05-29 17:06:07';```sqlSELECT * FROM `api`.`api_user` WHERE UNIX_TIMESTAMP(`user_time`) BETWEEN UNIX_TIMESTAMP('20

2021-06-11 11:48:05 202

原创 gridfs.errors.NoFile

数据明明存入MongoDB的存储桶GridFS了,去数据库搜文件ID也搜到了,但是在Python的pymongo中,查询相应的文件ID却报错gridfs.errors.NoFile:

2021-06-04 11:27:22 312 1

原创 压缩文件字节流 解压为 原始文件字节流

import zipfile # 无法解压rar、7z等压缩格式from io import BytesIOdef bytes_zip_to_bytes_content(bytes_zip_content): zip_file = BytesIO(bytes_zip_content) # 相当于with open('/.../file.zip') as zip_file: f = zipfile.ZipFile(file=zip_file) for f_name in .

2021-04-30 10:57:26 389

原创 selenium+phantomjs报错raise WebDriverException(“Can not connect to the Service %s“ % self.path)

报错:raise WebDriverException("Can not connect to the Service %s" % self.path)selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service .../phantomjs-2.1.1-linux-x86_64/bin/phantomjs代码:driver = webdriver.PhantomJS(executa

2021-04-07 19:07:42 1036 1

原创 web项目运行时无法重命名MySQL表问题排查

问题描述:web应用在线上运行,使用SQLAlchemy,没有用户在进行增删改查,甚至没有用户登陆,但在后台无法对相应MySQL表进行重命名或删除,显示锁定,但可以增删改查。本以为是锁的问题,实际上是对SQLAlchemy连接使用不当造成的,主要是使用完没有进行session.close(),本来使用with上下文管理器,参考SQlALchemy session详解,from sqlalchemy.ext.declarative import declarative_basefrom sqlal

2021-03-23 12:06:41 212

原创 SQLAlchemy批量新增数据&返回新增数据ID&一失败全失败

业务需求是批量新增数据并且返回数据ID(成功写入数据库后新产生的自增ID)并且要求批量新增的操作为原子级别,其中一个数据新增失败,则全部失败(而不是部分成功,出错后的失败)。from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, StringBase = declarative_base()class User(Base):__tablename__ =

2021-03-17 17:43:32 3993 2

原创 Python去掉Unicode编码中的‘\u‘开头

Unicode编码的字符串,print()显示为'\u....'开头,在Python中无法通过直接删除'\u'来获取后边的字符串,通过如下方法可以'\uec88'.encode('raw_unicode_escape').decode('utf-8').replace('\\u', ''), " ")得到'ec88'字符串。参考资料:http://club.autohome.com.cn/bbs/thread-c-442-90767403-1.html...

2021-01-08 10:29:26 2325 2

原创 获取py文件的绝对路径而非运行它时的主程序路径os.path.abspath(__file__)

在test.py文件中获取该test.py文件所在路径,这个test.py文件用来被其他路径下的主程序调用,用os.getcwd()或pathlib的Path.cwd()获取到的都是程序运行时的路径,而非该test.py文件所在的路径。该test.py文件的路径名称获取方法:rel_file_path = os.path.abspath(__file__)该test.py文件所在的文件夹路径获取方法:rel_dir_path = os.path.dirname(os.path.abspa

2020-12-23 19:42:21 337

原创 Mac + Docker + Clickhouse + Dbeaver 套装

Clickhouse部分:1下载docker 客户端:docker pull yandex/clickhouse-client2下载docker 服务端:docker pull yandex/clickhouse-server3启动clickhouse:docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9090:9090 yandex/clickho

2020-10-27 14:40:23 483 2

原创 信息熵概念及信息熵公式的理解

看最大熵模型时看到信息熵的公式,似懂非懂,看了好半天,还是先理解信息熵的概念:网上大部分的解释千篇一律,看了好多,才能渐渐理解(熵减小):香农的信息熵本质上是对我们司空见惯的“不确定现象”的数学化度量。信息熵公式的理解视频。这两个我认为质量比较高,尤其是视频对公式的解读,非常清楚。参考资料:https://www.zhihu.com/question/22178202https://www.zhihu.com/question/22178202/answer/6678760.

2020-08-19 15:52:07 871

原创 为项目添加requirements.txt 手动维护 自动安装部署

自动生成环境依赖:pip freeze > requirements.txt其中会包含你所用的第三方包所自动安装的第三方包。手动添加维护环境依赖(可以不加第三方包所自动安装的第三方包,但安装的时候会自动装上):lxml==4.5.0mysqlclient<=1.4.5Pillow==7.1.2pybloomfiltermmap3==0.5.2requests...

2020-04-29 19:45:18 440

原创 Clickhouse 入门基础操作

创建库::) CREATE DATABASE db_name;删除库::) DROP DATABASE db_name;删除表::) DROP TABLEtable_name;从MySQL导入数据到clickhouse::) CREATE TABLE IF NOT EXISTSclickhouse_db_name.clickhouse_table_name E...

2020-02-26 21:22:11 1157

原创 centos7 yum 安装及卸载 Clickhouse

检查系统是否支持SSE 4.2:grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"安装:# 使用脚本下载yum源curl -s https://packagecloud.io/install/repositories/altinit...

2020-02-26 20:55:31 7586

原创 Mysql将一次查询的结果作为一个表再次进行查询

查询table_1表中的按field_1字段分组统计id_1的数量作为c字段,c字段作为一个临时中间表table_tem,统计table_tem表的c字段的平均值即为终极目标结果result_1。SELECT avg(c) AS result_1FROM (SELECT count(id_1) AS c FROM table_1 GROUP BY field_1) ...

2019-12-12 11:01:22 7199

原创 用配置文件启动mongoDB、用户管理、配置数据库用户名密码

【代码】用配置文件启动mongoDB、用户管理、配置数据库用户名密码。

2019-11-29 16:37:37 675 1

原创 ModuleNotFoundError: No module named '_lzma'

bug产生过程:用python-cpca包时,这个包用到pandas,而pandas用到了_lzma这个玩意儿,lzma是python3.3之后引入的压缩算法标准模块,在本地MacOS上运行良好,然后部署到Linux服务器遇到这个傻吊bug:ModuleNotFoundError: No module named '_lzma'。在MacOS上import lzma或者import _lz...

2019-08-19 17:09:58 11373

原创 python遇坑记录-json.loads() :JSONDecodeError: Invalid \escape

# -*- coding=utf-8 -*-import jsonimport requestsheader = { 'User-Agent': 'googlespider', 'Content-Encoding': 'gzip', 'X-Forwarded-For': '202.101.43.22',}class Business(object): ...

2019-06-05 19:02:11 6188

原创 Python全局未知异常捕获

log日志监测程序运行:可以1⃣️Linux重定向将python运行报错记录到log日志中,2⃣️或者用python内置的logging模块。但是在用logging模块时,try...except...可以捕获到可预见/考虑到的异常,用logging记录到log日志文件中,但是在对于未知异常或导致程序退出时的情形无法记录到log日志中,用Linux的重定向可以捕捉到。现在到问题...

2019-05-29 11:39:12 3255

原创 MySQLdb._exceptions.OperationalError: (2026, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

2019.3.1是anaconda的问题,是openssl包的问题,openssl1.1.1a及以上版本会出现2026bug,降级到1.0.2r及以下可解决。参考https://github.com/ContinuumIO/anaconda-issues/issues/10646这里。--------------------------------------------------终...

2019-02-28 18:52:57 4403 2

原创 Mac安装pyenv踩过的坑

优点不多说了,坑如下:使用pyenv来管理,实际上这个玩意有个不足之处是:(参考这个)Pyenv只会管理通过Pyenv安装的Python版本,你自己在Python官网上下载的直接安装的Pyenv并不能被管理!!!同样除了系统默认的python包外,其他直接安装的python包是识别不出来的,即使用brew安装的也识别不出来。Git地址:https://github.com/pyenv/...

2019-02-28 18:36:18 2616

原创 Python3 内置异常类型的结构

 BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StopAsyncIteration +-- ArithmeticError | +-- FloatingPointEr...

2019-02-21 17:16:16 427

原创 CentOS Linux release 7.5 安装python3

我的云服务器是CentOS Linux release 7.5.1804 (Core) 环境,用python3.6源码安装时,因为没有c编译环境,搞了半天,安装不上gcc和make,不能make和make install,找了半天,找到了下边这种方式安装成功。使用Yum源安装Python3.6IUS软件源中包含了Python3.6,可以使用IUS软件源安装Python3.61)安装IU...

2019-01-23 17:51:00 692 2

原创 python读取操作系统类型

在不同平台运行的python程序,使用phantomjs、chromedriver等无头浏览器,读取其他文件之类的操作时,可能会用到不同的路径,可以用python内置模块platform来判断当前操作系统属于哪个,然后再设定不同的路径。import platformsys_str = platform.system()if sys_str == "Linux": PATH = ...

2019-01-18 20:22:40 1171

原创 python的DBUtils连接mysql数据库时报错:2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed'

如下会打开一个mysql数据库连接池会报错:_mysql_exceptions.OperationalError: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')import MySQLdbfrom MySQLdb.cursors import DictCursorfrom DBUtils.PooledDB impo...

2019-01-08 13:51:50 2818 10

原创 如何在Linux和Mac之间互传文件/文件夹

以下均在Mac上操作:Mac上传文件/文件夹到Linux上:【scp Mac路径 Linux用户名@ip地址:Linux绝对路径】(文件夹加参数scp -r)例:绝对路径:scp /mac/test/test.py root@192.163.20.30:/var/linux/tests/相对路径:scp ./test.py xiaoming@192.189.10.10:/v...

2018-12-26 11:54:41 3671

原创 xpath 取某个节点之后的某个节点

&lt;a id="a"&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;如上形式,可以得到a,怎么选择到b 选择全部b元素://a/following-sibling::*只选一个b元素://a/following-sibling::*[1]参考资料:https://segmentfault.com/q/1010000000134718...

2018-12-14 14:12:28 3827

原创 MySQL 不等于 符号写法 及 NULL值操作

要写一个 WHERE 语句,想要 :WHERE 字段/列名 != NULL;运行不出来, sql 里 符号 &lt;&gt; 与 != 的区别: &lt;&gt; 与!=都是不等于的意思,但是一般都是用&lt;&gt;来代表不等于。因为&lt;&gt;在任何SQL中都起作用,但是!=在sql2000中用到,则是语法错误,不兼容的(未测试未知)。sql中的 '=' 、'!='、'...

2018-12-03 14:16:12 4853

原创 Mysql中 BLOB字段转String的方法

SELECT CONVERT(要转换的字段/列名USING utf8) FROM 表名;如果的BLOB是图像/视频/字体文件等,转换完后会显示为Null。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。处理BLOB的...

2018-12-03 12:30:31 7104 2

原创 解决linux下source /etc/profile关闭终端失效问题

本来想配置环境变量的,看网上和博客上很多说改/etc/profile,然后source /etc/profile之后就可以永久保存使环境变量生效,但是终端一关闭,就环境变量就失效了,其他终端也用不了。网上有说在当前用户目录下创建.bash_profile文件,编写环境变量,然后执行命令source ~/.bash_profile之后就能使这个用户永久生效。但是还是和之前/etc/profile一样...

2018-11-15 20:00:41 1555

原创 Mac上MySQL报错:ERROR 2002 (HY000)

Mac上MySQL报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'另外报错:dyld: lazy symbol binding failed: Symbol not found: _clock_gettimehttps://stackoverflow.c...

2018-11-13 17:45:59 1395

原创 爬取JS动态生成的URL

爱卡汽车论坛搜索结果页面:想要python爬取搜索结果链接:a标签中的href,但是这个url是动态生成的。网页源代码:用普通方式解析:import urllib.requesturl = "http://search.xcar.com.cn/metasearch.php#?&amp;searchValue=奔腾x40"data = urllib.requ...

2018-10-05 14:47:00 3435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除