python
文章平均质量分 55
win_turn
坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用pyppeteer下载chromium报错
安装pip3 install pyppeteer下载chromiumpyppeteer-install报错[simple@redhat_1 pyppetter]$ pyppeteer-install[W:pyppeteer.chromium_downloader] start chromium download.Download may take a few minutes.Traceback (most recent call last): File "/home/simple/.lo原创 2020-06-25 10:23:20 · 2230 阅读 · 0 评论 -
python with用法+原理剖析+创建支持with的类
前言:在对一些资源进行访问时,常常会出现操作不当或出现异常而导致资源没有得到必要关闭资源释放资源。例如:文件读取、socket等等。下面内容以文件读取open方法为例。原始操作:f=open("filename")f.write()#文件操作f.close()上述代码存在的问题:(1)容易忘记文件关闭。(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作。优化版:try: f=open("xxx") f.write() #文件操作except:转载 2020-05-12 10:42:44 · 1879 阅读 · 0 评论 -
关于hash哈希以及为什么python中dict和set的key必须为不可变对象
引用自-vczh源:https://segmentfault.com/q/1010000004077532哈希值是由哈希函数从一个给定的数据计算出来的。哈希函数H和数据v满足如下要求:1、需要有一个函数(通常是等号)来判断v1和v2是否相等。这里的相等是指逻辑上的。譬如说你实现一个分数的struct,那么只要他们约分后的结果一样,那么这两个分数就是相等的,尽管他们的分子和分母这些数据可能不...转载 2020-05-01 19:51:38 · 1270 阅读 · 0 评论 -
python threading semaphore lock Threading信号量
threading.Semaphore一个信号量管理一个内部计数器,该计数器因 acquire() 方法的调用而递减,因 release() 方法的调用而递增。 计数器的值永远不会小于零;当 acquire() 方法发现计数器为零时,将会阻塞,直到其它线程调用 release() 方法。信号量对象也支持 上下文管理协议 。(可以用with)class threading.Semaphore(...原创 2020-04-22 15:30:07 · 508 阅读 · 0 评论 -
python threading Thread Condition Lock
"""某市有5工厂,因原材料有限,所以每个厂家一天只能生产100万个口罩。每个订单10万个,工时10秒钟。避免产出过剩,只有接收到需求订单后再开始生产。这5个工厂生产出来的口罩,统一供给同一个药店。"""import threading,timefrom random import randintclass Producer(threading.Thread): def ...原创 2020-04-21 17:13:57 · 293 阅读 · 0 评论 -
在python闭包中使用其他命名空间的变量(关于python闭包和变量的命名空间)
关于python闭包和变量的命名空间例子例子1def create_multipliers():return [lambda x : i * x for i in range(5)]for multiplier in create_multipliers():print(multiplier(2))输出88888例子2def create_multipliers2():...原创 2020-04-18 01:09:22 · 388 阅读 · 0 评论 -
python函数的可变默认参数和不可变默认参数(现象及原因分析)
铺垫因为在python中,定义变量并不是将一直值赋值给这个变量,而是创建一个对象,然后将这个变量指向该对象。例如:a = 123实际执行步骤:在内存中创建对象123,内存地址为0xAABBCCDD将变量a指向内存地址0xAABBCCDD所以,如果这时你打印id(a)和id(123),值都是0xAABBCCDD不只是数字、字符串,列表、字典等可变对象也一样。如果是不可变对象(数字,...原创 2020-04-18 00:29:23 · 1335 阅读 · 0 评论 -
使用阿里云消息服务mns发送短信
下载mnswget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32305/cn_zh/1490269182462/aliyun-mns-python-sdk-1.1.4.zip解压unzip aliyun-mns-python-sdk-1.1.4.zip安装cd mns_python_sdksu - rootp原创 2017-08-07 15:12:39 · 2141 阅读 · 0 评论 -
python import 文件时的路径path
查看pathimport sysfor i in sys.path: print i增加path方式一:临时增加sys.path.append('/home/wang/dist-packages')方式二:永久增加在现有的任一path路径下创建一个后缀为pth的文件.如: 在/usr/local/lib/python2.7/dist-packages路径下原创 2017-08-08 11:56:39 · 1470 阅读 · 0 评论 -
python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool
报错信息Traceback (most recent call last): File "", line 1, in File "D:\python\lib\site-packages\requests-2.18.3-py2.7.egg\requests\api.py", line 72, in get return request('get', url, params原创 2017-08-13 14:23:13 · 122295 阅读 · 13 评论 -
logging的陷阱:python使用logging不能写日志,写不出日志
问题我自己写了两个模块request和checkcode,这两个中都引用了logging进行记录日志. 当分别使用request和checkcode时均没有问题,但是,将两个模块都导入后,写日志就出现异常.总是一个能写日志,一个不能写日志.原因因为两个文件中都是使用logging配置文件的方式创建logger,而且这两个模块都使用的不是同一个配置文件,所以,执行了两遍logging.config.原创 2017-08-13 21:05:54 · 18521 阅读 · 4 评论 -
python requests发送multipart/form-data编码
安装requests_toolbeltpip install requests-toolbelt代码发送文件中的数据from requests_toolbelt import MultipartEncoderimport requestsm = MultipartEncoder( fields={'field0': 'value', 'field1': 'value',原创 2017-08-31 12:14:46 · 14410 阅读 · 3 评论 -
python ConnectionError 或 curl Could not resolve host
问题问题一使用python访问指定url时报错requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.lyczkj.gov.cn', port=80): Max retries exceeded with url: /index.php?r=default (Caused by NewConnectionError('<ur原创 2017-09-12 16:56:50 · 2759 阅读 · 0 评论 -
python中的特殊函数__call__()以及init,setattr,getattr,delattr
有关python的call在官方文档上有这么一句解释 (call#object.call“>http://docs.python.org/reference/datamodel.html?highlight=call#object.call) object.call(self[, args…]) Called when the instance is “called” as a f原创 2017-07-16 16:28:05 · 587 阅读 · 0 评论 -
Python copy()与deepcopy()区别,深拷贝与浅拷贝
最近在实习,boss给布置了一个Python的小任务,学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,搞的博主就有点傻傻分不清啊,但是呢本着一探到底的精神,还是要查资料搞清楚这对好基友的区别。其实呢,copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。 首先直接上结论: —–我们寻常意义的复制就是深复制,即将被复制对象完全再转载 2017-07-16 15:44:53 · 1096 阅读 · 0 评论 -
python逆序截取
前言一开始不懂,然后google了一下. 满屏的”搞不明白”. 正文所谓逆序截取,就是先截取,再进行逆序. 为什么不叫截取逆序?可能是因为”逆序截取”念着更顺嘴吧. 官方名字:Extended Slices 格式: str[begin:end:step] str,字符串. begin,起始位置. end,结束位置. step,间隔.s不等于0.默认为1 注原创 2016-11-01 19:15:44 · 14721 阅读 · 5 评论 -
nginx、python、django、pip、setuptools、uwsgi安装
依赖关系 如果使用django,需要先安装pip 。如果使用pip,需要先安装setuptools 。如果使用setuptools,需要先安装python。原创 2016-09-21 21:09:13 · 1058 阅读 · 0 评论 -
python字符串操作,截取,拼接,替换,删除,比较,查找
去空格及特殊符号s.strip().lstrip().rstrip(',')复制字符串strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr2连接字符串strcat(sStr1,sStr2)sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print原创 2016-11-01 18:09:55 · 9967 阅读 · 0 评论 -
使用easy_install安装和卸载python扩展包
使用easy_install安装扩展包、卸载扩展包error: can't create or remove files in install directoryPlease make the appropriate changes for your system and try again.原创 2017-01-21 21:44:57 · 15572 阅读 · 0 评论 -
python requests笔记
导入import requests请求类型requests.request(method, url, **kwargs) • method – 请求的方法 • url – 请求的url • params – url参数,字典或字节格式 • data – 请求体中的数据,字典或字节或file-like对象 • json – 请求体中的数据,json格式 • heade原创 2017-01-21 21:59:56 · 1048 阅读 · 0 评论 -
python类学习笔记
构造函数 def __init__(self)内部变量访问权限 __var 不允许访问 __var__ 允许访问 _var 尽量不要访问动态绑定方法 假如 class Stu(object): pass 为实例绑定方法 from types import MethodType s = S原创 2017-01-21 22:25:12 · 390 阅读 · 0 评论 -
BeautifulSoup笔记
BeautifulSoup笔记from bs4 import BeautifulSouphtml = '....'soup = BeautifulSoup(html, 'lxml')格式化输出print soup.prettify()Tag类型输出html中的标签,它查找的是在所有内容中的第一个符合要求的标签soup.headsoup.input1. 属性a) nameprint sou原创 2017-01-21 22:34:57 · 790 阅读 · 0 评论 -
ImportError: No module named packaging.version
问题ImportError: No module named packaging.version解决办法wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py参考https://packaging.python.org/installing/#id1原创 2017-02-13 19:36:59 · 3391 阅读 · 0 评论 -
python使用requests POST提交一个键多个值
问题在使用POST提交数据时,想实现下面这种情况:requests.post(url, data={'interests':'football','interests':'basketball'})用这种方式肯定是错误的,因为字典中的key是唯一的。解决方法使用元组列表 代码如下:import requestsurl = 'http://httpbin.org/post'r = request原创 2017-02-03 22:18:54 · 6622 阅读 · 1 评论 -
python虚拟环境virtualenv
用途使每个python运行的环境互不干涉1:安装virtualenvsudo pip install virtualenv这种在线安装的方式,默认是从python官方源下载到本地。网络不稳定的话,会很慢。 所以建议使用国内镜像。sudo pip install -i http://pypi.mirrors.ustc.edu.cn/ virtualenv参考http://blog.csdn.net/原创 2017-03-05 13:16:31 · 1831 阅读 · 0 评论 -
URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)>
问题使用python,配合requests或urllib2进行get某网址时,报错URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)>解决办法>>> import requests>>> from requests.adapters import HTTPAdapter>>> from reque转载 2017-03-21 00:05:57 · 17221 阅读 · 1 评论 -
python编码:'ascii' codec can't encode characters in position 66-73: ordinal not in range(128)
问题运行python脚本,没有问题。使用bash中的>重定向到文件中时,文件的内容是'ascii' codec can't encode characters in position 66-73: ordinal not in range(128)原因很明显,编码问题。解决办法修改前的代码是print '%s: %s' % (num, r2.json()['userName'])修改后print u原创 2017-03-22 10:47:26 · 1457 阅读 · 0 评论 -
使用pypi镜像源加速第三方库在线安装
用easy_install和pip来安装第三方库很方便 它们的原理其实就是从Python的官方源pypi.python.org/pypi 下载到本地,然后解包安装。 不过因为某些原因,访问官方的pypi不稳定,很慢甚至访问不了。 跟ubuntu的apt和centos的yum有各个镜像源一样,pypi也有。 pipy国内镜像目前有:http://pypi.mirrors.ustc.edu.原创 2017-03-02 22:44:35 · 2388 阅读 · 0 评论 -
Centos 6.4 python 2.6 升级到 2.7
一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的Python是2.6版本,难怪一直连不上网。于是,继续百度google,进行安装,后来又出现问题...在此开篇记录一下,权当备忘。查看python的版本#python -V Python 2转载 2016-06-04 17:10:49 · 680 阅读 · 0 评论
分享