python基础
little_people
这个作者很懒,什么都没留下…
展开
-
[效率算法]计算两百万以下质数的和
这个题两段代码:第一段我自己写的,电脑差点炸了。垃圾 第二段网友写的,1.7s得出答案。流弊啊将两段代码贴在这里,供自己日后学习研究这种效率算法代码的超一流思路# 电脑都快爆了,还没算出答案def isfrime(x): # if x == 2: # return True for k in ran...转载 2019-07-04 14:50:11 · 453 阅读 · 0 评论 -
Error while finding spec for 'virtualenvwrapper.hook_loader'
accepted/usr/bin/python3: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: No module named 'virtualenvwrapper')accepted I was able to fix my issue by changing...转载 2018-03-10 22:44:16 · 1647 阅读 · 2 评论 -
python字典的格式化字符串
字典的格式化字符串很酷。在每个转换说明符中的%字符后面,可以加上(用园括号括起来的)键,后面在跟上其他说明元素。In [1]: phonebook = {'Alice':123, 'hello':456, 'sky':789}In [2]: "Alice's phone number is %(Alice)s" % phonebookOut[2]: "Alice's phone numbe...转载 2018-03-07 11:54:09 · 1683 阅读 · 0 评论 -
AttributeError:'str'对象没有属性'items'
你正在传递一个字符串 ; headers不能永远是一个JSON编码字符串,它始终是一个Python字典。该print结果都是骗人的; JSON编码的对象看起来很像Python字典表示法,但是它们远非相同的东西。该requestsAPI明确指出,headers必须是一本字典:headers – (optional) Dictionary of HTTP转载 2018-02-07 14:29:41 · 9917 阅读 · 2 评论 -
Python 将两层列表展开平铺成一层的5种方法
这几天和同事在讨论,如何用 Python 写出优雅的让列表中的列表展开,变成扁平化的列表。例如# 期望输入input = [[('A', 1), ('B', 2)], [('C', 3), ('D', 4)]]# 期望输出output = [('A', 1), ('B', 2), ('C', 3), ('D', 4)]map 函数合并>>> new = []; map(new.exten转载 2018-01-19 09:56:40 · 26210 阅读 · 1 评论 -
Python 中的黑暗角落(一):理解 yield 关键字
Python 是非常灵活的语言,其中yield关键字是普遍容易困惑的概念。此篇将介绍yield关键字,及其相关的概念。迭代、可迭代、迭代器迭代(iteration)与可迭代(iterable)迭代是一种操作;可迭代是对象的一种特性。很多数据都是「容器」;它们包含了很多其他类型的元素。实际使用容器时,我们常常需要逐个获取其中的元素。逐个获取元素的过程,就是「迭代」...转载 2018-01-26 17:40:17 · 694 阅读 · 0 评论 -
使用Python读写处理Excel表格
引由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作。安装库Python环境首先当然是配环境,不过选Python的一个重要原因就是Mac内是自带Python环境的,不需要额外的配置环境,省下了一笔工作,如果你用的是Windows系统,那就还需要配置一下Python的环境了,我Mac的Python版本是2.7。第三方库Pytho...转载 2018-04-12 16:37:09 · 13736 阅读 · 1 评论 -
Python函数——闭包延迟绑定
请看下面代码def multipliers(): return [lambda x : i*x for i in range(4)]print ([m(2) for m in multipliers()] )"""[6, 6, 6, 6]"""为什么输出结果为[6, 6, 6, 6],这段代码相当于def multipliers(): funcs = []...转载 2018-04-25 15:59:16 · 305 阅读 · 0 评论 -
python编码问题
原来编码问题也这么有学问的,原来都是一通瞎试猜编码,现在可以参考下此图了原创 2019-06-28 10:59:33 · 21014 阅读 · 0 评论 -
如何在string.Format方法中输出大括号({})
在string.Format参数中,大括号{}是有特殊意义的符号,但是如果我们希望最终的结果中包含大括号({}),那么我们需要怎么做呢?是”{”吗?很遗憾,运行时,会给你一个Exception的!正确的写法是{{和}}。对,double {{ 或}}即可输出{或}.DEMO:static void Main(string[] args){Console.WriteLine(string.F...转载 2019-05-20 17:13:54 · 6482 阅读 · 0 评论 -
_pickle.UnpicklingError: the STRING opcode argument must be quoted
传送门:https://stackoverflow.com/questions/2613800/how-to-convert-dos-windows-newline-crlf-to-unix-newline-lf-in-a-bash-script/19702943#19702943最后用的 dos2unix成功解决了问题,这么看好像是文件格式的一个问题...转载 2019-05-05 13:40:08 · 1503 阅读 · 0 评论 -
python3.6 和python 2.7版本安装pycrypto过程及问题(不需要安装vs)
python安装pycrypto真的是踩到很多坑,说起来一把辛酸泪,好在最后成功解决了,总结了一下遇到的问题,写出来与大家共享首先要明白的是crypto和pycrypto是两个不同的模块,小伙伴们不要去安装crypto问题一:unable to find vcvarsall.bat在网上下载pycrypto的包,进入包目录,使用python setup.py install命令安装,报错如...转载 2019-05-05 11:55:41 · 2330 阅读 · 0 评论 -
python之celery的使用
内容预览:前段时间需要使用rabbitmq做写缓存,一直使用pika+rabbitmq的组合,pika…~简单介绍 Celery 是一个异步任务队列~最常用的代理就是 RabbitMQ 和 Redis~前段时间需要使用rabbitmq做写缓存,一直使用pika+rabbitmq的组合,pika这个模块虽然可以很直观地操作rabbitmq,但是官方给的例子太简单,对其底层原理了解又不是很深,...转载 2019-04-18 10:18:05 · 501 阅读 · 1 评论 -
登录加密算法破解
0x00 前言在日常WEB登录的用户/口令破解中,我们多使用burpSuite针对明文传输、base64加密、MD5加密等进行暴力爆破;查看Burp支持的playload加密方式中包括:URLencode、Base64、SHA、MD5、MD2等:但在日常渗透测试中对WEB系统进行用户或密码暴力破解时,常常会遇到譬如这样的情况:userName=3633756E89341C6CBEF6...转载 2019-04-15 16:09:36 · 2238 阅读 · 1 评论 -
celery:not enough values to unpack (expected 3, got 0)
celery -A your_app_name worker --pool=solo -l info可以解决传送门https://github.com/celery/celery/issues/4178原创 2019-04-17 11:35:46 · 685 阅读 · 0 评论 -
python运行js---execjs 使用
execjs 使用有了selenium+Chrome Headless 加载页面为什么还要用execjs来运行js? selenium+Chrome Headless 必然是爬虫的一大利器,可是缺点依然存在, 性能问题不可忽视。 但这构不成舍弃它而不用的理由。我认为舍弃包括Chrome Headless、PhantomJS在内的无头浏览器 的原因主要有以下几点: 1. 页面结构改变、弹窗(一些...转载 2019-04-02 22:11:54 · 18981 阅读 · 0 评论 -
js2py的使用
基本使用:import execjsimport js2pyun ='''function sample(x){ return func2(x)}'''print(js2py.eval_js(un)("Hi"))import js2pyjs = """function escramble_758(){var a,b,ca='+1 'b='84-'...转载 2019-04-02 21:51:24 · 2959 阅读 · 0 评论 -
python3 unicode列表转换为中文
查了很多很多的资料无果,果然知乎牛逼,知乎,完美解决。爬取网站时,最终得到list内容,编码为unicode,想让其转换为汉字并输出。需要提取的为下图中unicode部分:保存为列表,然后使用for循环:text为获取的网页。pat = '"group": {"text": "(.*?)"'text_list = re.compile(pat).findall(text)for i...转载 2019-04-01 14:40:09 · 1450 阅读 · 0 评论 -
Python 的异步 IO:Aiohttp Client 代码分析
Python 的异步 IO:Aiohttp Client 代码分析Aiohttp是 Python 的一个 HTTP 框架,基于 asyncio,所以叫 Aiohttp。我主要是看源码,想理解它的设计,所以附上了类图与时序图。不可避免的,可读性会比较差。想找教程的话,请移步官方教程,写得还是挺不错的。一个例子下面这个例子,通过 HTTP GET 列出 GitHub 的publ...转载 2018-07-09 10:24:54 · 950 阅读 · 0 评论 -
python logging模块的多文件应用
概述有的时候需要在一个python程序中生成多个log文件。本文对logging进一步封装,展示如何在一个程序中使用logging模块打印两个log文件来记录不同类型的信息。注意logging模块是线程安全的,可以在多线程环境中使用。完整的代码#!/usr/bin/envpython2.7#-*-coding:utf-8-*-importlogging,...转载 2018-05-24 13:18:57 · 3491 阅读 · 0 评论 -
python错误:TypeError: string indices must be integers
TypeError: string indices must be integers由于是返回的接口数据,所以一时也分辨不出是哪里的错,然后我就还原了这样的场景:unicode_str = u'abcd'print unicode_str[2]print unicode_str['mykey']读取一个unicode编码的字符串的一个不存在的属性,见第三行,然后就会出现上面的错误所以在读取字典的时...转载 2018-05-10 09:32:06 · 3470 阅读 · 0 评论 -
python global与nonlocal比较
python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量一 globalglobal关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。gcount=0defglobal_test():print(gcount)def...转载 2018-01-26 15:17:39 · 190 阅读 · 0 评论 -
线程池和协程池
from concurrent.futures import ThreadPoolExecutor executor = ThreadPoolExecutor(3) def f(a, b): print(‘f’, a, b) return a ** b executor.submit(f, 2, 3) future.result() executor.map(f原创 2017-12-27 23:27:48 · 433 阅读 · 0 评论 -
Python脚本实现每天定时任务的小程序
import datetime, time# 设定开始时间start_timedef timer(): sched_time = datetime.datetime(2017, 12, 27, 1, 00, 00) # 间隔时间 timedelta = datetime.timedelta(days=1) # 取当下时间 now = datetim...原创 2017-12-26 10:20:08 · 3358 阅读 · 0 评论 -
Cmder使用总结
windows cmd 使用不方便之处:1.窗口size不能便捷缩放2.复制文本,不能直接用鼠标拷贝,还需要多一道菜单操作;而且,还只能块状拷贝,而不是按行字符,极其不便3.不支持多Tab页,多窗口管理不便cmder 最新的版本是1.2版 下载地址:http://www.softpedia.com/get/Programming/Other-Progra转载 2017-12-23 17:37:05 · 2302 阅读 · 0 评论 -
Python·Jupyter Notebook各种使用方法记录
一、 Jupyter NoteBook的安装1.1 新版本Anaconda自带Jupyter目前,最新版本的Anaconda是自带Jupyter NoteBook的,不需要再单独安装 1.2 老版本Anacodna需自己安装JupyterJupyter Notebook安装的官方网站安装Jupyter Notebook的先决条件:已经安装转载 2017-12-23 16:20:18 · 1032 阅读 · 0 评论 -
Python陷阱:为什么不能用可变对象作为默认参数的值
上次分享过一篇关于图解Python变量与赋值的文章,今天接着这个话题继续聊一聊关于赋值的一些坑。先来看一道题目:>>> def func(numbers=[], num=1):... numbers.append(num)... return numbers>>> func()[1]>>> func()[1, 1]>>> func()[1, 1, 1]转载 2018-01-26 14:02:24 · 483 阅读 · 0 评论 -
Python类私有方法的陷阱
引言Python不像C++、Java、C#等有明确的公共、私有或受保护的关键字来定义成员函数或属性,它使用约定的单下划线“_"和"__"双下划线作为函数或属性的前缀来标识。使用单下划线还是双下划线,是有很大的区别的。1. 单下划线的函数或属性,在类定义中可以调用和访问,类的实例可以直接访问,子类中可以访问;2. 双下划线的函数或属性,在类定义中可以调用和访问,类的实例不可以直接访问,子...转载 2018-01-25 11:14:13 · 540 阅读 · 0 评论 -
Python求两个list的差集、交集与并集的方法
本文实例讲述了Python求两个list的差集、交集与并集的方法。分享给大家供大家参考。具体如下:list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析。一.两个list差集如有下面两个数组:a = [1,2,3]b = [2,3]想要的结果是[1]下面记录一下三种实现方式:1. 正常的方式转载 2018-01-17 12:01:05 · 271 阅读 · 0 评论 -
python的小技巧
过滤列表中的负数 方法一: from random import randint data = [randint(-10, 10) for _ in xrange(10)] filter(lambda x: x>=0, data) 方法二: [x for x in data if x >= 0] 时间的比较: timeit [x for x in data if x >= 0]原创 2017-12-26 21:04:47 · 1169 阅读 · 0 评论 -
Python用三种方式统计词频
三种方法:①直接使用dict②使用defaultdict③使用Counterps:`int()`函数默认返回0①dicttext = "I'm a hand some boy!"frequency = {}for word in text.split(): if word not in frequency: frequ转载 2018-01-23 12:00:08 · 8254 阅读 · 0 评论