python
寸草心2130
致力于轻微改变世界
展开
-
python 图片二值化处理(处理后为纯黑白的图片)
# 图片二值化from PIL import Imageimg = Image.open('test.jpg') # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。Img = img.convert('L')Img.save("test1.jpg") # 自定义灰度界限,大于这个值为黑色,小于这个值为白色threshold =...原创 2019-07-09 15:26:41 · 12067 阅读 · 2 评论 -
PyCharm以Scientific Mode(科学模式)运行以及如何退出Scientific Mode
PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等。使用NumPy的时候,系统会提示 use scientific mode,但进去后就运行程序的在控制台中,很麻烦,想改回来的话按下面步骤取反即可.有时打开了scientific mode时,但文件中引入了numpy 等科学计算包时并没有被自动识别,以scientific ...原创 2019-03-15 19:31:58 · 42397 阅读 · 4 评论 -
远程访问jupyter notebook windows平台设置
jupyter notebook是一个基于浏览器的python数据分析工具,使用起来非常方便,具有极强的交互方式和富文本的展示效果。jupyter是它的升级版,它的安装也非常方便,一般Anaconda安装包中会自带。安装好以后直接输入jupyter notebook便可以在浏览器中使用。但是它默认只能在本地访问,如果想把它安装在服务器上,然后在本地远程访问,则需要进行如下配置:1. Win+R打...原创 2019-03-19 20:55:12 · 2348 阅读 · 2 评论 -
pycharm注册码
http://idea.lanyus.com/ 点击网站,点击获取注册码,修改host后就能直接注册原创 2019-03-15 08:42:59 · 402 阅读 · 0 评论 -
Miniconda3换源(清华源)
更换miniconda3的源,以清华的源为例:清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/安装完miniconda3之后,执行下列命令即可(一行一行复制执行)conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free...原创 2019-03-14 19:51:24 · 23348 阅读 · 0 评论 -
python实现单例的两种方法
第一种方法:使用基类New 是真正创建实例对象的方法,所以重写基类的new 方法,以此保证创建对象的时候只生成一个实例class Singleton(object): def __new__(cls, *args, **kwargs): # hasattr 判断是否有...属性 if not hasattr(cls, '_instance'): ...原创 2019-03-14 19:24:42 · 4859 阅读 · 0 评论 -
Selenium — 点击被页面上其他元素遮住的控件
点击被页面上其他元素遮住的控件使用WebDriver点击界面上Button元素时,如果当前Button元素被界面上其他元素遮住了,或没出现在界面中(比如Button在页面底部,但是屏幕只能显示页面上半部分),使用默认的WebElement.Click()可能会触发不了Click事件。需加上browser.execute_script(‘arguments[0].click()’, web...原创 2019-03-04 21:25:31 · 6793 阅读 · 4 评论 -
Selenium如何运行Js代码来修改只读(readonly属性)元素的值来给12306日期传值(send_keys)
现状:目前前端Web页面很多都用到了前端框架,如EasyUI、React、jQuery等等,在这样的大前提下,我们在定位元素时经常会遇到各种困难,如元素只读、元素不可见等等,这篇文章我们重点讲一下只读元素的处理。一、 我们先来举个栗子只读元素的展示(12306日期选择):只读元素展示HTML源码如下:<div class="form-bd"> <div class=...原创 2019-03-04 21:01:04 · 1627 阅读 · 0 评论 -
Python+selenium+frame实现自动登录163邮箱
1.先上代码import timefrom selenium import webdriver# 创建浏览器对象browser = webdriver.Firefox(executable_path="D:\soft\PY\geckodriver.exe")# 打开163邮箱网页browser.get("https://mail.163.com/")# 这里睡眠5秒,因为网页登录加...原创 2019-03-04 19:10:04 · 5699 阅读 · 1 评论 -
Python_selenium往富文本框frame(iframe)里面填写内容
frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,selenium有一组方法对frame进行操作。**1. 怎么切到frame中(switch_to.frame())用switch_to.frame(reference)来切换frame,方法如下:prot...原创 2019-03-04 19:00:08 · 2196 阅读 · 0 评论 -
Python报错:UnboundLocalError: local variable 'xxx' referenced before assignment
原因UnboundLocalError: local variable ‘xxx’ referenced before assignment在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:主要是因为没有让解释器清楚变量是全局变量还是局部变量。【案例】如下代码片所示:def test(): if value == 1: ...原创 2019-03-06 22:05:29 · 1499 阅读 · 0 评论 -
Python计算程序运行时间
方法1import timefrom datetime import datetimestarttime = datetime.now()time.sleep(2)endtime = datetime.now()print((endtime - starttime).seconds)方法 2start = time.time()time.sleep(2)en...原创 2019-03-04 10:00:55 · 1488 阅读 · 1 评论 -
爬虫User-Agent整理复制直接使用
复制直接使用user-agents=['Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT ...原创 2019-03-08 20:20:26 · 1070 阅读 · 0 评论 -
Python list 和 str 互转
一、list转字符串命令:''.join(list)其中,引号中是字符之间的分割符,如“,”,“;”,“\t”等等如:list = [1, 2, 3, 4, 5]''.join(list) 结果即为:12345','.join(list) 结果即为:1,2,3,4,5二、字符串转listprint list('12345')输出: ['1', '2', '3', '4', '5...原创 2019-03-05 22:29:12 · 10969 阅读 · 1 评论 -
python sort、sorted高级排序技巧(key的使用)
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(lt)来排序。代码如下:>>> sorted([5, 2, 3, 1, 4])[1, 2, 3, 4, 5...原创 2019-03-11 19:22:28 · 49560 阅读 · 3 评论 -
windows10+python3.7启动jupyter notebook5.7.6打开后网页空白
问题:浏览器检查网络网上各种方法试遍都不行,最后在github里面找到解决办法>卸载 之前5.7.6版本pip uninstall jupyter notebook安装 5.7.4版本pip install jupyter notebook==5.7.4完美解决附github贴子地址https://github.com/jupyter/notebook/issues/4...原创 2019-03-16 11:23:47 · 7636 阅读 · 0 评论 -
jupyter notebook 打开ipynb时提示到后台服务的连接没能建立, 我们会继续尝试重连, 请检出网络连接...还有服务配置 命令行显示Replacing stale connection
解决方法把tornado降级为4.5.3pip install tornado==4.5.3github地址https://github.com/jupyter/notebook/issues/2664原创 2019-03-16 12:04:27 · 21780 阅读 · 8 评论 -
windows 10环境下安装Tesseract-OCR与python集成
windows 10环境下安装Tesseract-OCR与python集成前言Tesseract是一个开源的ocr引擎,可以开箱即用,项目最初由惠普实验室支持,1996年被移植到Windows上,1998年进行了C++化。在2005年Tesseract由惠普公司宣布开源。2006年到现在,都由Google公司开发。官网宣传目前支持100多种语言的识别,根据我的测试,目前感觉其对机器打印的比较...原创 2019-07-09 14:28:56 · 2374 阅读 · 0 评论 -
Python读取相对路径文件
例如下图目录结构:第一种情况:1)xxx.py想要打开a.txt,使用相对路径,有如下两种方式:思路:xxx.py想打开的是b_file下的文件,XXX.py和b_file都在文件目录之下,两者是同级目录,因此操作就是在当前目录向下搜索,因此就可以很容易理解下面的意思了特别提示:… \是错误的,打开的是上级目录with open(r"b_file\a.txt","r"...原创 2019-04-09 10:35:50 · 43184 阅读 · 1 评论 -
Pycharm设置自动换行显示
只对当前文件有效的操作:菜单栏 -> View -> Active Editor -> Use Soft Wraps;如果想对所有文件都有效,就要在setting里面进行操作:File -> Setting -> Editor -> General -> Use soft wraps i...原创 2019-04-12 10:39:40 · 8619 阅读 · 0 评论 -
Python多版本管理-pyenv
经常遇到这样的情况:系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器。1.安装pyenv:1.>安装依赖包:yum install zlib-devel bzip2-devel openssl-devel ncurse...原创 2019-03-27 17:04:04 · 233 阅读 · 0 评论 -
python3中处理汉字出现SyntaxError: Non-UTF-8 code starting with '\xb3' in file解决
加上# coding=gbk即可如果是其他编码格式等号后面加其他编码原创 2019-03-26 19:23:01 · 15575 阅读 · 0 评论 -
中文报错SyntaxError: Non-UTF-8 code starting with '\xe6' in file
处理代码最上面加上编码格式#coding:utf-8原创 2019-03-30 11:52:06 · 56761 阅读 · 10 评论 -
装饰器实现计算函数的运行时间
何为装饰器装饰器其实就是一个函数,该函数有一个参数(函数类型),返回一个闭包在返回的闭包中调用传递进来的函数,然后在调用函数的前后就可以添加内容作用:当需要改变一个函数原有的功能时,但是不想/不能改变原来的函数,可以通过装饰器解决计算函数执行时间的装饰器import functoolsimport timedef run_time(fn): @functools....原创 2019-03-23 09:41:24 · 3655 阅读 · 0 评论 -
一只青蛙一次可以跳一级或二级台阶,请问跳n级台阶有多少次跳法之斐波那契数列的非递归写法
对于这个问题前三次都好算分别为1,2,3次,后面多的话不好简单计算当第n级台阶时,因为青蛙只能跳一级或二级台阶,所以第n级只有两种方法跳过来,即,从前一级(n-1)或前两级(n-2),所以调到这两级的方法加起来即为n级方法总数现在构成斐波那契数列(fěi bō nà qì shù liè)注意这个是斐波那契的变种,斐波那契为 1 1 2 3 5 8现在这个问题为 ...原创 2019-03-23 09:24:07 · 8549 阅读 · 0 评论 -
python3中的for---else语句之打印100以内的素数(质数)
要写这个程序,首先要学习两个概念1.质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数2.python中 for else的用法:for循环中只要不被break终止,就会执行else的语句当 for 循环被 break 中断后,其后的 else 语句就不执行了def prime_number(): #...原创 2019-03-25 21:06:57 · 5342 阅读 · 0 评论 -
Crontab的简单使用和创建第一个自动定时任务执行python脚本
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放...原创 2019-03-19 08:58:21 · 1674 阅读 · 0 评论 -
让PIP源使用国内镜像,提升下载速度和安装成功率//windows更改pip源提高速度的方法
对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliy...原创 2019-03-13 15:28:12 · 1007 阅读 · 4 评论 -
斐波那契数列python3的递归(不推荐)与非递归实现(重要)
1.斐波那契问题最简单的是递归实现,python3默认最大递归深度为998,可以通过sys.setrecursionlimit(设置的次数)来设置最大递归深度,但是递归效率太低,所以不推荐,仅供了解def feibonacci(n): if n <=2: return 1 else: return feibonacci(n-1) + fei...原创 2019-03-25 11:35:47 · 7126 阅读 · 0 评论 -
Python统计列表元素出现次数
1. 引言在使用Python的时候,通常会出现如下场景:array = [1, 2, 3, 3, 2, 1, 0, 2]获取array中元素的出现次数比如,上述列表中:0出现了1次,1出现了2次,2出现了3次,3出现了2次。本文阐述了Python获取元素出现次数的几种方法。点击获取完整代码。2. 方法获取元素出现次数的方法较多,这里我提出如下5个方法,谨供参考。下面的代码,传入...原创 2019-03-21 17:38:13 · 13659 阅读 · 2 评论 -
selenium获取html源代码
执行js得到整个HTMLhtml = driver.execute_script("return document.documentElement.outerHTML")获得整个文档的HTMLhtml = driver.find_element_by_xpath("//*").get_attribute("outerHTML")# 不要用 driver.page_sour...原创 2019-03-12 20:59:37 · 23312 阅读 · 1 评论 -
SQlite3插入(insert into)多个变量--设置自动增长的字段(python)
插入多个变量 cursor.execute("insert into zhilian (job_name, job_money, company) values ('{}','{}','{}')".format(job_name, job_money, company))# 简化为cursor.execute("insert into 表名 (字段a, 字段b, 字段c) values (...原创 2019-03-05 22:27:29 · 9885 阅读 · 0 评论 -
Python正则表达式
正则表达式应用场景特定规律字符串的查找,切割、替换等特定格式(邮箱、手机号、IP、URL等)的校验爬虫项目中,提取特定内容使用原则只要使用字符串函数能够解决的问题就不要使用正则正则的效率比较低,同时会降低代码的可读性世界上最难理解的三样东西:医生的处方、道士的神符、码农的正则提醒:正则是用来写的,不是用来读的;在不清楚功能的情况下,不要阅读别人的正则基本使用说明:正...原创 2019-02-26 18:04:00 · 300 阅读 · 0 评论 -
Django模型之Meta选项详解
abstract这个属性是定义当前的模型是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。Options.abstract如果abstract = True 这个model就是一个抽象类db_tabledb_table是指定自定义数据库表名的。Django有一套默认的按照一定规则生成数据模型对应的数据库表名。Opti...原创 2019-01-16 22:32:37 · 287 阅读 · 0 评论 -
xadmin 点击添加小组件时报错 build_attrs() got an unexpected keyword argument 'name'
1.查阅github得知是因为Django1.11造成的2.方法1.打开使用的虚拟环境目录找到widgets.py修改E:\virtualenv\xxx_venv\Lib\site-packages\django\forms\widgets.py2.在build_attrs()函数的定义处添加一个**kwargsdef build_attrs(self, base_attrs, extr...原创 2019-01-21 20:34:17 · 3706 阅读 · 2 评论 -
django访问不了本地static文件(js,css,img)网页里面js,cs都加载不了
1.今天网上下载一个博客项目,发现本地访问,js,css加载不了.我想应该是项目上线的安全措施,但是我想调试项目.找到方法如下在settings.py里面编辑添加STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)另外把STATIC_ROOT = os.path.join(BASE_DIR, 'static')...原创 2019-01-21 14:37:19 · 3193 阅读 · 1 评论 -
python manage.py makemigrations 出现Traceback (most recent call last)如下一堆错误的坑
Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "/home/chengbo/.virtualenvs/testblog/lib/python3.6/site-packages/django...原创 2019-01-21 12:09:45 · 23656 阅读 · 3 评论 -
Django如何设置首页(默认输入域名或者ip即可跳转到指定页面)
在主urls里面添加一行url(r’^$’,views.home)views.XXX xxx即你想让默认跳转的视图函数名.在输入域名时即可自动跳转到你想要跳转的首页.原创 2019-01-19 23:09:35 · 20019 阅读 · 6 评论 -
True和数字相加的结果
num = 5print(num + True)# 其结果为6,True在和数字相加时默认强制转换为1百度百科解释:True在编程语言中代表逻辑值:真。与逻辑值False(假)意义相反。ture在编程语句中代表1,反之false代表0.true表示真,在计算机中存储为1;...原创 2019-01-07 22:02:16 · 2322 阅读 · 7 评论 -
三个等号和两个等号的区别(“===”与“==”的区别)
1.===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。 例:100===“100” //返回false abc===“abc” //返回false ‘abc’===“abc” //返回true NaN===NaN //返回false ...原创 2019-01-07 21:56:55 · 14719 阅读 · 4 评论