
python
龙哥虎弟
系统架构师,从业十余年,写程序20余载。遇到bug无数,修改bug无数,仍然与广大程序员战友在战斗过程中。
展开
-
Flask中的blueprint 蓝图简单示例
在python Flask中,我们有时需要将一个网站良好的组织起来,形成开发人员易于理解的结构。app.py一个文件不足以完成这样的任务,需要承载所有的链接,还要做出单独的错误处理、日志处理等功能,都放在一个文件中就比较臃肿。Flask提供了蓝图这种想法,来做这件事。所谓蓝图,实际是将多个路径(/***)下面的函数放到多个文件。通过Flask蓝图的注册机制,让app.py知道某一个链接的路由应该找哪一个子文件。这样的子文件,可以认为是路由注册文件。Blueprint源代码中大体的想法呢,是先提供一组Bl原创 2020-10-27 14:55:21 · 694 阅读 · 0 评论 -
百度人工智能OCR调用调试过程
最近几天使用百度OCR识别文字一直失败,在确定了认证的token没有问题之后,查看返回的json,看到返回的值有如下几个:log_iderror_codeerror_msg如果返回正确,json应该包括这几个值:log_idwords_result_numwords_result修改程序打印查看具体的值:'error_code': 282000,'error_msg': 'internal error',暂时无法确定发生了什么,于是登录百度云平台:cloud.baid.原创 2020-10-12 14:53:14 · 1304 阅读 · 0 评论 -
Python偏函数及其使用
首先,先来看一下我们的int函数int作为函数时有个神奇功能,将字符串变为数,比如"123",返回值123。这是一个整型数。OK,我们再想一下,int(123)当然返回的是123了。如果输入是:int("123",8),返回是83>>int("123",8)83意思是返回8进制的123在十进制下的表示。这个8,在int参数中,变量名是base,也可以写成:int("123",base= 8)如果输入int(123,8) 返回错误:TypeError: int() can't原创 2020-08-05 14:53:19 · 1482 阅读 · 0 评论 -
vs code 配置python
最近Python有了更快速的配置方案。如果是先安装python,后安装的vs code,暂时code是不知道你机器上的python安装位置的。安装vs code,安装python插件。在扩展-搜索框中输入python,然后点击install按钮。安装好了扩展之后,还没有解释器,没事,建立一个新文件,另存为.py文件,就貌似你有一个python程序文件似的。这时候看IDE的左下角,有一个:设置这里面应该暂时没有解释器,点击上面这个图的Python 3.7.6的位置,就会出现一个对话框让你输原创 2020-07-29 18:13:36 · 240 阅读 · 0 评论 -
怎么在word和python中输入对号
打开word,菜单:插入-符号-其他符号 快捷菜单 Alt+I+S右上,子集转到“数学运算符”,第5个就是对号。那么python怎么输出这个字符呢?见下。8730>>> ord('√')8730>>> chr(8730)'√'>>> chr(8731)'∛'>>> chr(8732)'∜'>>> chr(8733)'∝'>>> chr(8734)'∞'>>原创 2020-06-15 14:11:28 · 2085 阅读 · 0 评论 -
Tornado第一个程序
Tornado安装pip install tornado写个hello:程序名app.pyimport tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("hello world"...原创 2020-04-24 14:14:44 · 179 阅读 · 1 评论 -
Python 连接MariaDB的一些小问题Cant connect to MySQL server
今天拿python写了一个后台连接MySQL(MariaDB)的页面,不过没想到居然会出现一个“被拒绝”的问题。pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")当然,使用的是pymysql库了,我连...原创 2020-03-23 17:33:31 · 547 阅读 · 0 评论 -
Java和Python覆盖/重写函数的比较
Override是面向对象语言的一个特性,在基类定义一个函数/方法,在子类中,重写这个函数/方法,将其表现为另一个形式,从而在继承后,完成多态。而类属性实际上也可以重写。在子类中定义同样名称的类属性,比如a,调用a时,就看不到基类的a了。下面我们分别用Java和Python做一个说明,设计一个基类和一个子类,并重写一个属性和一个方法。Java 文件名:SubClass.javacla...原创 2020-02-25 18:44:50 · 463 阅读 · 0 评论 -
Flask request
#4 request args.get 可以设置默认值,甚至直接支持中文。from flask import Flask, requestapp= Flask(__name__)@app.route("/hello")def hello(): name = request.args.get('name', 'Flask') return '<h1>Hello...原创 2020-02-10 00:56:57 · 212 阅读 · 0 评论 -
华为编程面试题目 求2到2000的质数 源程序筛法求质数
内存足够大,写程序输出2到2000的质数。'''华为面试题目 求2到2000的质数'''N = 2000number = list( range(2, N+1) )times = 0checknum = list(range(2,int((N+1)/2)+1))for i in checknum: for index in number: times += ...原创 2019-10-30 17:29:37 · 408 阅读 · 0 评论 -
python list排序参数实现二维数组按照第2列排序
list 的sort方法是将list里面的数据直接排序,排序后,list的数据顺序会变化。而如果list是一个二维数组,也就是list 的list,想按照第2列排序,怎么做?就是说,list是以下的矩阵形式:list[0]: [4,2]list[1]: [3,1]list[2]: [5,0]list[3]: [1,6]注意到sort自己的参数就有提及:list.sort(...原创 2019-08-15 02:47:36 · 10140 阅读 · 0 评论 -
安装PyQt5以及designer Pyside
先说一个安装之后的问题,安装了qt和PySide2之后spyder可能会打不开,IDE就用不了了。目前还没有解决。呜呜呜。去anaconda目录运行spyder会出现错误。提示:qtpy.PythonQtError: No Qt bindings could be found重新安装qtpy也不行。只好用Visual Studio Code了。安装QT,pythonpip instal...原创 2019-08-07 18:53:43 · 1153 阅读 · 0 评论 -
Linux CentOS安装Python3.7.3以及纠错
尝试在CentOS7上安装Python3.7,对一个新手来说,还是有挺多东西需要注意的。具体步骤如下:1、下载下载python3,wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz解压到本地目录,比如现在在/home/user1,会在当前目录产生一个Python-3.7.3目录。tar -xzvf Python...原创 2019-07-30 17:58:59 · 522 阅读 · 0 评论 -
《Python语言及其应用》(Introducing Python)第2版出版了!
《Python语言及其应用》,第2版已经出版,是世界上最流行语言Python的入门学习者的理想读物,易于理解学习。以下翻译自介绍网页:在Python 3的基础速成教程之后,你可以处理数据科学和web等领域的一些小项目。你将亲自尝试Python的多样性。11章讲述怎样调用模块,以控制Python的标准库。你也会看到怎样用包和脚本组织程序,以及使用来自不可思议的Python社区的第三方模块。现...原创 2019-06-26 10:33:34 · 1819 阅读 · 0 评论 -
vscode的python环境配置
部分摘自月季卷心菜花的https://segmentfault.com/a/1190000015483593开始安装 Python extension 。 安装一个python3的版本。选一个python的解释器想要在vscode中运行python代码必须要告诉vscode使用哪个解释器。按照vscode的官方解释,可以打开命令面板(Ctrl+Shift+P)输入Python:...转载 2019-05-07 16:26:04 · 252 阅读 · 0 评论 -
谈一谈python的字符串和输出
python3的字符串默认是unicode格式存储的,不必在前面加u说明。u'真的'和'真的'是一样的。为什么有时候获取网页信息之后,我们输出结果到屏幕,查看一些中间变量的时候,会出现告知我们这样的错误:UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: unexpectedend of data...原创 2019-04-24 10:18:49 · 251 阅读 · 0 评论 -
用flask-admin写一个文件管理系统的程序-第1课
Flask-Admin 后台管理Flask-Admin是一个简单易用的Flask扩展,可以为Flask应用程序增加管理界面。1、安装扩展先用pip 安装flask-admin扩展 pip install flask-admin2、有点不同的是,import时,是import: flask.ext.admin 或者import flask_admin第一个manage....原创 2019-04-15 12:15:56 · 2565 阅读 · 0 评论 -
python numpy初步
import numpy as npn1 = np.array([[1,2,3],[6,5,4]])print(n1.shape)print("np.arange")n2 = np.arange(1,12,0.4)print(n2)n2 = np.linspace(1,12,4)print(n3)n2 = np.linspace(1,12,5)print(n4)print("...原创 2019-04-07 02:52:24 · 125 阅读 · 0 评论 -
python3使用selenium并加代理访问网页
用selenium打开浏览器,会遇到一个问题,打开太多容易被封IP。那么需要一些代理来间接地取得网页内容。python里面就是这一个好处,API提供这个选项。注意server后面直接跟随代理和端口firefox_options.add_argument("--proxy-server=http://122.141.74.186:8080")from selenium import w...原创 2019-03-19 01:10:28 · 2029 阅读 · 1 评论 -
python随机返回一个列表中的元素
python3 的 random库里面有一个函数,方便的有点吓人。>>> help(random.choice)Help on method choice in module random:choice(seq) method of random.Random instance Choose a random element from a non-empty s...原创 2019-03-18 15:42:48 · 6667 阅读 · 0 评论 -
python的文件内注释 help注释写法
目的:在help(模块名)时,能够看见文件里面的注释。首先,在文件的最开头,如果有个多行注释(三引号),就会将注释写入__DOC__变量,在help查看时,可以看见这个变量。如果还需要输出函数,则可以将函数放入__all__变量。__all__ = ['search','fix','hello','parser']all里面的元素是唯一的,所以,这里要避免函数重名。当然,pyt...原创 2017-04-20 11:10:54 · 3171 阅读 · 0 评论 -
python 3改写base64编码
本来python有base64这个模块,挺方便的,但是python3里面无一例外的又改变了参数格式,并且无一例外的@#¥……&于是我就改写了一下最简单的程序,需要encoding了,清单如下: import base64s = "hello被子64"a = base64.b64encode(bytes(s,encoding="utf-8"))print(a)#解码...原创 2016-02-24 15:24:03 · 333 阅读 · 0 评论 -
python的xlwt不能正确写入以及缓冲区问题
<div class="iteye-blog-content-contain" style="font-size: 14px"></div> 最近在使用python的xlwt模块,它和xlrd、xlutil显然从名字上看得出是一套体系。然后在写入的时候发生了一些故事。 我不能正确的将很多数据写到一个文件里面。这个文件尽管对于excel来说还不是很大...原创 2016-03-02 09:57:04 · 730 阅读 · 0 评论 -
python爬虫下载图片 wx(你懂的)公众号 搜狐网页
关键字:正则表达式 python 爬虫调试不易,老程序员恳请:转载请注明出处。 https://blog.youkuaiyun.com/tjzzy/article/details/86453247近期由于搜集素材需求下载了一些图片。附代码如下,话先说好,如果读者需要使用,请节制好下载频率,被微信封号我不管哦。:)下载资源首先从文件中获取,文件是文章的链接URL。正则表达式分析文章,简单的写...原创 2019-01-14 03:11:24 · 4160 阅读 · 0 评论 -
python的xlwt不能正确写入以及缓冲区问题
<div class="iteye-blog-content-contain" style="font-size: 14px"></div> 最近在使用python的xlwt模块,它和xlrd、xlutil显然从名字上看得出是一套体系。然后在写入的时候发生了一些故事。 我不能正确的将很多数据写到一个文件里面。这个文件尽管对于Excel来说还不是很大,总...原创 2019-01-20 23:15:44 · 1771 阅读 · 0 评论 -
升级安装python pip
Command "python setup.py egg_info" failed with error code 1 inYou are using pip version 9.0.1, however version 18.1 is available.You should consider upgrading via the 'python -m pip install --upgr...原创 2019-01-10 02:12:27 · 136 阅读 · 0 评论 -
Python爬虫 PhantomJS运行提示WebDriverException: 'bin' executable may have wrong permissions.
PhantomJS声明已经在2016年不再官方更新,不过2017年又释放出了beta版本在镜像站点:https://npm.taobao.org/dist/phantomjs/可以从上述站点下载,比从phantomjs.org上下载快。Selenium也需要安装。下面代码段是一个例子,可以直接敲进去用的。webdriver.PhantomJS 这一句要注意在windows里面,...原创 2019-01-10 02:52:32 · 1666 阅读 · 0 评论 -
selenium和geckodriver chromedriver协同模拟浏览器
selenium和geckodriver协同先注意一件事,之前通过学习了解到,selenium和chromedriver不能随意乱用,每一个版本必须和相关的driver匹配才能运行。https://blog.youkuaiyun.com/huilan_same/article/details/51896672Firefox同理。1、下载驱动,geckodriver是firefox的驱动程序,下...原创 2019-01-21 20:08:32 · 361 阅读 · 0 评论 -
Python基础教程(第二版)例子程序__getitem__函数
Python基础教程例子9.3.1 使用第三版改写写一个类,接受整数参数的索引,输出经过计算/调整后的value值。利用__getitem__函数实现。有一件事要注意,python 3中只有int了,没有必要再写为: if not isinstance(key, (int,long) ):#type(key) == int:#ss 类Fib:写一个斐波那契数列类,利...原创 2019-02-03 03:56:29 · 372 阅读 · 0 评论 -
python正则表达式修饰符 常用的re.M
python的正则表达式修饰符 - 可选标志re.M|re.I是最常用的一组标识符,用于告知程序,多行匹配、大小写不敏感。re.M=2, re.I=8 其值加起来是10,所以也有的不够意思的程序员直接写作10的。这里也稍微介绍一下程序员的习惯,这种值使用了2的幂进行设置,所以按位或的结果就是各个数字加起来。像这里,re.I|re.M=2|8=2+8=10...原创 2019-01-29 14:33:06 · 1450 阅读 · 0 评论 -
Python核心编程第二版程序14.1改写
生成一个循环程序。使用python 3改写,并将输入lower处理,避免输入大小写对判断的影响。这里面有个知识点是将写好的命令用exec执行#!/usr/bin/env python dashes = '\n' + '-' * 50 # dashed line#dashes用于做格式化输出exec_dict = { 'f': """ # for loop for %s in...原创 2019-02-06 04:07:58 · 149 阅读 · 0 评论 -
《用python写网络爬虫》第一章Python 3重写代码-下载sitemap
《用python写网络爬虫》这本书本身还是不错,就是……使用了python 2作为基础,现在使用python 3重写。2和3在网络调用库上差别挺大的。代码文件实现功能:下载一个网站的sitemap,sitemap在crawler文件的main中调用,crawl_sitemap('http://example.webscraping.com/sitemap.xml')common2负责提...原创 2019-02-26 11:43:42 · 253 阅读 · 0 评论 -
《用python写网络爬虫》第二章Python 3重写代码-下载英国的area面积数据
用BeautifulSoup抽取内容,注意初始化时,加lxml参数。另外,url已经修改,通过查找这个网站找到了正确的url地址。common2.py是原来文件common.py的改写。from bs4 import BeautifulSoupimport common2#原文链接已经修改,加了default#url = 'http://example.webscraping....原创 2019-03-14 15:19:16 · 213 阅读 · 0 评论 -
一道面试题的最终答案
前两天看见一个人这样说,面试的时候考试一道题,深入的问,很多人败下阵来。但是要看是什么题目了。编写函数,判断一个传入参数是不是奇数。这之前什么无脑科技和短路电子提供的答案比如print 不返回true false的咱们略过不表。我们先来看一个非常直观的答案:def isOdd(number): return ( (number % 2) == 1)这样,比如传入一...原创 2019-03-12 15:35:06 · 240 阅读 · 0 评论 -
selenium的webdriver的各类属性
selenium的webdriver获取一个元素之后,将会建立一个webelement对象,这个对象根据使用浏览器的不同,会变为firefox的FirefoxWebElement或者chrome的ChromeWebElement于是有必要对WebElement进行研究,检查其所有属性如下:>>> dir(webdriver.firefox.webelement.Fi...原创 2019-03-21 16:46:12 · 1616 阅读 · 0 评论 -
python3 base编码解码
本来python有base64这个模块,挺方便的,但是python3里面无一例外的又改变了参数格式,并且无一例外的@#¥……&于是我就改写了一下最简单的程序,需要encoding了,清单如下: import base64s = "hello被子64"a = base64.b64encode(bytes(s,encoding="utf-8"))print(a)#解码,...原创 2016-02-24 15:26:03 · 652 阅读 · 0 评论