python
面向未来的历史
这个作者很懒,什么都没留下…
展开
-
python合并list中含有至少一个相同元素的子list
最近在计算商品的聚合, 其中,需要将间接关联的商品合并在一起。如: A与B 相似, B与C相似, 按照业务规则, A,B,C应该放到一起。即通过 [ [A,B] , [B, C] ] 得到 [ [ A, B, C ] ]。原创 2024-01-30 17:39:02 · 457 阅读 · 1 评论 -
安装chromadb遇到的问题与python3升级
环境: python 3.10 , centos 7.x使用时,遇到一下问题。原创 2023-09-13 19:59:40 · 3538 阅读 · 0 评论 -
python3/pip3 SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
mac os。原创 2023-08-26 20:05:41 · 1384 阅读 · 0 评论 -
python类中使用signal
背景: 如果我们需要在类实例退出的时候进行一些处理,通常,我们可以将会处理逻辑写在**__del__**函数中, 类实例销毁的之前会调用该函数。handler 必须要接收两个参数, 可以设置执行默认操作,也可以自定义操作。但是如果是外部信号signal,如 ctrl+c, 中断程序时, 就不会掉用__del__函数。os._exit(0) : 正常退出python 程序。因此, 本次将在类中加入signal 处理逻辑。环境: python 3.9。原创 2023-08-11 09:32:56 · 240 阅读 · 0 评论 -
AttributeError: module ‘lib‘ has no attribute ‘OpenSSL_add_all_algorithms‘
环境: Mac M1, python3.8。原创 2023-01-14 11:40:10 · 5135 阅读 · 0 评论 -
内网通过nginx代理发送邮件
背景项目中只有一台服务器 A 能访问互联网, 服务器 B 只能访问内网。 先发送qq邮件程序部署在服务器 B。 A 上部署nginx。步骤1、 重新编译 nginxnginx 需要支持 strean。 原来的nginx 需要重新编译替换。查看原nginx 支持那些 module: ./nginx -V结果: configure arguments: --with-http_ssl_module --with-mail --with-stream --with-mail_ssl_module原创 2022-01-26 18:38:40 · 5413 阅读 · 0 评论 -
华为obs python sdk 下载图片报错:NoSuchKey
背景:以前在使用华为obs 进行图片下载(也就是浏览器查看图片),是直接使用地址访问obs。比如:endpoint: obs-example-domain.cn图片名称: qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg访问地址:http://obs-example-domain.cn/qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8原创 2021-12-10 21:18:17 · 9290 阅读 · 0 评论 -
python redis将一个db中的数据复制到另一个db
背景:有2套系统,都用到redis, 且有共同的数据。 系统1使用redis 的db=1, 系统2 使用redis 的 db=4。系统1已经完整的部署好了。现在需要将db=1中的数据复制到db=2中。由于redis 服务是云服务器的内网,且其他的服务器上没有安装redis-cli。所以想到centos 服务器上自带了 python。 那就用python 实现数据转移。具体代码实现1、首先统计db=1中的数据类型:import redissrc_redis = redis.Redis(host=原创 2021-11-02 23:33:03 · 1306 阅读 · 0 评论 -
python2 文件上传服务
背景用的服务器的权限控制比较严格, 一般的文件上传方式用不了。 而且很多软件在mac 还可能用不了。 最近在用 mac pro m1, 有时候挺心塞的(有的软件用不了,折腾重装很久才好)。但是Linux服务器(用的centos 较多), 一般都有python, 如果没有python, 很多命令是用不了, 比如yum 。所以自己就用python写了个文件上传的程序。程序server.py#coding=utf-8from BaseHTTPServer import BaseHTTPRequest原创 2021-05-27 18:43:07 · 292 阅读 · 0 评论 -
python fork杀死子进程,循环任务
背景一个车联网项目,车辆的状态数据(电池,车速,里程等数据)每隔30秒上传一次到服务器A。现将机器A上mysql的数据定时上传到机器B的接口。可使用的方法:1、开启定时任务crontab,定时将机器A中mysql的数据上传到机器B 接口。2、 使用循环,但是每个循环之间使用 time.sleep(1000)。每次循环上传一定数量的数据。代码如下:vehicle_uploader.pyimport requestsimport timeimport jsonimport hashlib原创 2020-12-11 10:48:03 · 660 阅读 · 0 评论 -
提取中文文本摘要
环境 python3, gensimfrom gensim.summarization.summarizer import summarizefrom pyltp import SentenceSplitterimport jiebatext="""巴西总统府当地时间7月22日早晨发布的消息称,已经确诊感染新冠肺炎两周的博索纳罗总统在21日进行的病毒检测中依然呈阳性。巴西总统府的公告称,博索纳罗目前保持良好状态。博索纳罗在本月5日出现新冠肺炎症状,6日病毒检测结果呈阳性,确诊患病。上周,确诊后的他又原创 2020-07-27 11:54:10 · 974 阅读 · 0 评论 -
python安装包问题1
1 使用pip安装包,出现以下问题:环境: centos 8, python3.8Could not find a version that satisfies the requirement pytest-runner (from versions: )No matching distribution found for pytest-runner需要升级pipcurl https...原创 2020-03-14 16:43:27 · 553 阅读 · 0 评论 -
pytorch中Dataset,Dataloader 使用
在pytorch中,使用Dataset, DataLoader来自定义训练模型时输入数据。以下是一个简单的使用实例。该实例使用的数据集是个list类型, x = [0,1,2,3 … 49 ]编程语言: python3.6+ , torchclass MyDataset(Dataset): def __init__(self): x = list(range(0,5...原创 2020-03-10 15:32:07 · 6513 阅读 · 1 评论 -
mongoengine 支持 sessions使用
环境: python3.5 centos 7说明在mongoengine 0.9 版本之后,mongoengine 不再支持django 的使用,也就是说无法再像以前使用的方法进行 支持 session 使用。 根据网上说明,若要使 mongoengine支持 sessions,需要使用最新的 django-mongoengine 包,虽然此包还在开发,并且不稳定,但是据使用的原创 2017-04-06 16:31:42 · 1183 阅读 · 0 评论 -
判断ip 是否正确 python
1 判断ip是否有效方法一import socketdef is_valid_ip(ip): """Returns true if the given string is a well-formed IP address. Supports IPv4 and IPv6. """ ip = ip.strip() if not ip or '\x00' in ip:原创 2017-09-28 15:58:33 · 2757 阅读 · 2 评论 -
python Pexpect 实现输密码 scp 拷贝
在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用scp -P 1000 192.168.199.10:/temp/data /temp由于权限限制,不能免ssh密码拷贝,会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect 。最后考虑使用python原创 2017-12-05 16:32:50 · 5720 阅读 · 0 评论 -
celery 消息队列与定时任务
在进行定时获取代理ip, 黑名单ip,以及进行ip校验,相关信息及特征获取时,需要用到定时任务,常见的使用 linux 的crontab 来实现定时任务。但是为了在使用django,保持设计的一致性,就采用 celery 消息队列的定时任务来做。开发环境: centos 7 python3.5 Name: celery Version: 4.0.2 mongodb, django d都是最原创 2017-01-18 12:23:05 · 4687 阅读 · 0 评论 -
url去重 --布隆过滤器 bloom filter原理及python实现
常见URL过滤方法1 直接查询比较即假设要存储url A,在入库前首先查询url库中是否存在 A,如果存在,则url A 不入库,否则存入url库。这种方法准确性高,但是一旦数据量变大,占用的存储空间也变大,同时,由于要查库,数据一多,查询时间变长,存储效率下降。2 基于hash的存储对于给定的url,通过建立的hash函数,来获得对应的hash值,并将该值存入库中。当在检查url是否存在库中时原创 2016-08-07 15:49:50 · 18312 阅读 · 1 评论 -
python http服务 post
环境: node, python3.6使用node.js 的request模块发送 post请求,请求参数放在body中。服务端使用python3 http.server搭建服务。nodejs 请求var request = require('request');var qs = require('querystring')var xml_data = "<note>&l...原创 2019-02-16 21:03:08 · 3358 阅读 · 0 评论 -
百度语音识别api调用 python
最近在处理语音检索相关的事。 其中用到语音识别,调用的是讯飞与百度的api,前者使用js是实现,后者用python3实现(因为自己使用python)环境:python3.5 centos 7流程整个百度语音识别rest api 使用分为三部分: 1 (申请操作)创建应用,获取应用的 API Key 以及 Secret Key。 2 (程序实现)通过已知的 应用的 API Key 以及 Se原创 2017-02-23 10:34:03 · 9918 阅读 · 5 评论 -
python 处理请求获取的图片
环境:python2 (目前使用的环境,虽然比较喜欢使用python3) 图片只有一个图片链接 http://img2.suv.cn/2018/0115/1515977939198935.jpg1 请求网络图片import requestsimport StringIOimport PILfrom PIL import Imagepic_url = "http://im原创 2018-01-18 11:20:22 · 8619 阅读 · 0 评论 -
gunicorn 部署 flask 应用
一般比较习惯使用uwsgi进行部署django, flask应用。但,有时受权限限制,无法安装uwsgi, 所以就使用gunicorn进行部署。之前使用python3的使用,发现 supervisor是不支持。所以就不打算用supervisor了。纯粹介绍gunicorn 简单部署方法,完整流程。环境: python2 centos 61 实例创建测试目录 temp原创 2017-11-29 15:07:09 · 6753 阅读 · 0 评论 -
selenium驱动chrome
直接上代码,之后解释#coding:utf-8import timefrom bs4 import BeautifulSoupfrom selenium import webdriverpath = "/Users/yh/workshop/xplace/temp/chromedriver"chrome_options = webdriver.chrome.options.Option...原创 2018-06-30 13:35:05 · 2333 阅读 · 0 评论 -
fasttext: cannot load * due to c++ extension failed to allocate the memory
背景:使用fasttext开发意图识别(文本分类)功能,并使用python httpserver搭建意图识别服务。在测试环境是没有使用问题。但是将服务部署到线上环境,准备运行时。报错 :fasttext: cannot load * due to c++ extension failed to allocate the memory解决:在安装fasttext时,是直接使用 sudo ...原创 2019-01-03 17:49:12 · 1582 阅读 · 0 评论 -
python http服务
环境: python3 centos 7.5python3 中实现http serverr有很多种方法,可以使用 flask(light), django , tornado 等等。也可以使用build-in 模块实现,即: http.server - HTTP servers以下代码就是实现的一个http get 请求的完整流程。import jsonimport http.serve...原创 2019-02-15 14:21:08 · 1067 阅读 · 0 评论 -
code: 'HPE_INVALID_CONSTANT' 解析错误 parse error
背景:server: python http.server 见 https://blog.csdn.net/a1368783069/article/details/87359881client : node.js requestclient 在请求 server时,返回结果解析错误。server.pyimport jsonimport http.serverimport sock...原创 2019-02-15 20:51:14 · 6185 阅读 · 0 评论 -
使用theano出错问题
在调试一个开源深度学习的项目,该使用了 theano 。 运行程序出现如下错误。环境: centos7.5 python3.6错误1ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug informa...原创 2019-08-21 18:10:10 · 2553 阅读 · 1 评论 -
安装pip ---python windows
安装配置python在官网(https://www.python.org/)下载 python, 一般是 .msi 格式的安装器版。如果.msi 的安装包不能双击正常安装,请参考 http://blog.csdn.net/a1368783069/article/details/46372679安装完python后,将python.exe 所在的路径加入系统环境变量中。 如安装的路径为 : C:原创 2016-01-17 15:34:57 · 707 阅读 · 0 评论 -
python调用c中函数
使用讯飞的语音识别api时,由于想将使用python写的 vad与该api结合使用,所以选择使用讯飞使用c编写的 linux sdk。将api作为一个函数,在python中调用。使用到python的包 ctypes https://docs.python.org/2/library/ctypes.html#return-types环境: python3.5 centos实例编写文件 lib.原创 2017-02-28 18:28:18 · 2630 阅读 · 0 评论 -
python: ImportError: No module named bz2
envirnment: python3 , centos7在安装sklearn.RandomForestClassifier时提示 ImportError: No module named bz2。 很明显这个python2中没有装bz2的库导致的。 解决方法:yum install bzip2-devel然后需要重新编译一下python3,之后再import bz2就不会提示错误了。./con原创 2017-01-16 10:24:06 · 11673 阅读 · 1 评论 -
tar.xz | gcc failed
tar.zx解压与压缩解压:xz -d file.tar.xztar -xvf file.tar第一步得到 file.tar 文件 第二步得到 file文件压缩tar cvf file.tar file xz -z file.tar error: command ‘gcc’ failed with exit status 1在centos 7 上安装python 的包lxml,出现以下问题原创 2016-05-12 15:02:58 · 549 阅读 · 0 评论 -
拉格朗日插值 python scipy
拉格朗日插值数学原理:根据数学知识,对于平面上已知的n个点(无两点在一条直线上)可以找到一个 n-1 次多项式: y=a0+a1x+a2x2+...+an−1xn−1y=a_0 +a_1x+ a_2x^2+ ... + a_{n-1}x^{n-1}为了进行根据新的x, 求出对应的 y值,需要求出上式中的系数 a0,a1,a2....an−1a_0, a_1, a_2.... a_{n-1}因为n个原创 2016-05-24 16:59:47 · 18047 阅读 · 3 评论 -
linux 安装pypy , virtualenv, 及使用
linux 安装 pypy自己使用的系统是 centos 7(其他linux机器的安装方法类似)首先下载pypy 的rpm包。 http://pkgs.org/search/?keyword=pypy依次下载 pypy-libs-2.2.1-2.el7.x86_64.rpm pypy-2.2.1-2.el7.x86_64.rpmpypy-devel-2.2.1-2.el7.x86_64.rpm原创 2016-03-17 12:29:28 · 3776 阅读 · 0 评论 -
python操作 hbase 数据
配置 thriftpython使用的包 thrift 个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到project interpreter, 在相应的工程下,找到package,然后选择 “+” 添加, 搜索 hbase-thrift (Python client for HBase Thrift interface),然后安装包。安装服原创 2016-03-30 21:57:47 · 7300 阅读 · 0 评论 -
抓取高速公路摄像照片
抓取某省所有高速公路上摄像头所拍下的照片,并保存到本地。根据抓包每张拍摄到的照片的链接地址,可以知道,摄像头的设备id,是照片链接中最重要的参数。同时也可以查看网页加载的js文件中,后台程序是怎样构造照片的链接地址。所以第一步是获取所有 摄像头的 deviceID, 然后构造照片的链接。 下载照片的二进制数据,保存到本地为照片。#coding:utf-8import jsonimport r原创 2016-03-17 11:25:31 · 1073 阅读 · 0 评论 -
ghost.py 使用实例
安装安装需要包ghost.py 及PyQt或者PySide。 安装方法 : 打开cmd或者命令提示符命令窗口,输入 pip install ghost pip install pyside当然前提是要将pip.exe 的目录 ……python\Scripts 添加到环境变量中,或者将命令提示窗的工作路径换到此目录下。打开python GUI 输入:Import ghostHel原创 2016-01-01 12:31:37 · 9880 阅读 · 0 评论 -
ImportError: 'DLL load failed: %1 is not a valid Win32 application.
问题描述遇到这种问题情况描述: windows: 64 位 win7 英文版系统 python :从官网下载的是 python 2.7.2 64 位的。实际在文件夹中显示如下: 然后安装 scrapy,试用一下scrapy,cmd打开命令提示符,输入: scrapy shell http://cn.bing.com/ 然后输出一堆,最后一行: ImportErr原创 2015-11-09 11:58:20 · 11015 阅读 · 0 评论 -
python异常处理
异常捕捉形式捕捉异常可以使用try/except语句。通常有以下形式:1 try ……..exceptexcept 不带任何异常(捕获所有异常)try: sentenceexcept: do something except 带参数异常try: sentenceexcept Exception, Argument : do somethingexcept带原创 2015-09-18 16:02:39 · 632 阅读 · 0 评论 -
python网络爬虫抓取动态网页并将数据存入数据库MySQL
简述以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ 。此网页中的最新、精华下面的内容是由JavaScript动态生成的。审查网页元素与网页源码是不同。以上是网页源码以上是审查网页元素所以此处不能简单的使用正则表达式来获取内容。以下是完整的获取内容并存储到数据库中。 实现思路: 抓取实际访问的动态页面的url – 使用正则表达式获取原创 2015-09-11 17:32:53 · 31607 阅读 · 2 评论 -
python实现简单爬虫以及正则表达式简述
python中使用 re模块实现对正则表达式的使用方式实现方式包括 2种1 re是一个引用模块,类似与其他的模块的使用,可以直接进行调取模块中的功能函数使用例如:print re.split(r'\d+','one1two2three3four4')得到的结果:['one', 'two', 'three', 'four', '']split语法: split(string[, maxsplit原创 2015-08-11 19:02:39 · 3505 阅读 · 0 评论