
Python
文章平均质量分 70
肥宝Fable
微信公众号:肥宝的实验室
超级实验室,技术黑工厂
展开
-
Python3调用C++:一些简单的参数和返回的例子
#include <Python.h> #include <iostream>#include <vector>using namespace std;typedef vector<double> SeqDouble;typedef vector<SeqDouble> SeqSeqDouble;//普通参数的输入void test1(int a, char* b, double c){ std::cout << .原创 2020-12-28 22:17:59 · 951 阅读 · 0 评论 -
Python3调用C++:HellowWorld
百度搜过,没多少说这个的,来来去去就一连篇文章,而且是python2的。搜到一个python3,复制下来,还得研究半天。所以自己记录一下,免得忘记,毕竟不是专业写python的。python:3.8C++:Visual Studio 2019的C++基本逻辑就是把C++部分的代码编译成dll。然后python当做一个库直接导入。一开始觉得不方便。不能像Python那样直接执行。但其实再想想,运行C++程序,本来就要编译的,就没觉得什么了。C++部分的代码:#inclu.原创 2020-12-28 12:10:21 · 385 阅读 · 0 评论 -
VS2013+PTVS+Python开服环境搭建
之前玩过一会儿Python,主要是为了学习,后来确实对学习能力有了很大的提升。随后因为工作原因放下了很长时间,之后一放下就是好几年了。现在又因为工作达到一定瓶颈,需要再来搞一次,不过跟几年前又大大不同了。人生就是如此有趣,哈哈哈。之前是用的是Eclipse,但是因为工作中没用到。也不知道另外开一个程序确实很卡还是本来就卡,总觉得很慢。最后决定用VS2013看看。找了一下确实有支持vs2013的插件,叫做PSTV,微软官方作品。PSTV最新版是要VS2015及以上版本的,我这里只能用到2.2.2版本原创 2020-09-15 14:54:29 · 883 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(7)
# -*- coding:utf-8 -*-from tool.HtmlManager import getHtml,getBinaryHtmlimport timeimport os.pathfrom tool.ExcelManager import validateTitle import refrom tool.ProxyManager import makeProxyAddre原创 2017-03-16 12:03:18 · 3183 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(6)
# -*- coding:utf-8 -*-import timefrom tool.ExcelManager import readExcel from tool.DbManager import DbManager # 合并各标签列表页excel到数据库# 第六步:书表去重并写入数据库,# 读取Excel,判断是否重复,先加入book表,重复则往booktag表插入标签记录原创 2017-03-16 11:58:09 · 3455 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(5)
第五步没有什么心的知识点。直接看代码吧。# -*- coding:utf-8 -*-# 提取各标签列表页到excelimport timeimport os.pathfrom tool.ExcelManager import listFiles,readExcel,writeExcelfrom tool import TagManager start = time.clock(原创 2017-03-16 11:54:01 · 4137 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(4)
新的知识点:1.re模块,正则表达式表达式中的分组:组是通过 "(" 和 ")" 元字符来标识的。 "(" 和 ")" 有很多在数学表达式中相同的意思;它们一起把在它们里面的表达式组成一组。2.time模块,日期和时间相关的模块每个时间戳都以自从1970年1月1日 00:00:00过了多长时间来表示。详细内容:http://blog.youkuaiyun.com/u01217508原创 2017-03-16 11:48:00 · 3480 阅读 · 0 评论 -
Python时间time详解
Python中与时间有关的模块time,datetime以及calendar。-----------------time包-----------------在Python中,通常有这几种方式来表示时间:1)时间戳(timestamp)通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。2)格式化的时间字符串 UTC(Coordinated Un原创 2017-03-14 15:52:42 · 42845 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(9)
代码在这里:点击打开链接这个实例是作者的一次课程设计。虽然内容不咋的,但是作为课程设计,我还是很惊讶的了。至少我以前没做过这种程度的课程设计。当然实习和毕业设计除外。再总结一下吧。1.知识点在开头三步就已经全部出现了。或者这就是万事开头难吧。2.第四步开始都是重复的东西,自己组织的数据结构,组织得清晰,但是没什么卵用。3.第四步开始时没有什么可以参考的了,侧重看前三步的知识原创 2017-03-16 12:21:42 · 4252 阅读 · 3 评论 -
Python3 cookiejar模块详解
本来想把整个模块的注释翻译一下,再加上自己的理解的。不过后来看着看着,实在没有达到那个水平。就只能理解多少写多少了。对了,我用到时Python3.4。对于cookie不了解的同学,应该看看这个点击打开链接首先来看看结构图: CookieJar____ / \ \原创 2017-04-11 21:09:14 · 24045 阅读 · 2 评论 -
Python3:urllib.request详解
request模块主要了解opener和handler这两个概念,其他的就很好解决了。函数:urlopen():打开一个url,可以传url或者request有ssl相关参数,暂时不管。如果没有opener,会自己构造一个,有就用现成的其实就是调用opener.open()函数。install_opener():安装一个opener作为默认的opener。原创 2017-04-12 21:27:59 · 6735 阅读 · 3 评论 -
Python3实例:使用cx_Freeze打包成exe文件
首先可以用简单命令行进行打包。不过我这个是接着上一篇文章的点击打开链接,把淘宝程序打包起来。我用的是4.3.4版本本来有现成的代码。使用了setup.py文件。这样的好处是可以写各种配置参数。from cx_Freeze import setup, Executablebase = Noneexecutables = [ Executable('mtaobao.py',原创 2017-04-13 16:13:55 · 5814 阅读 · 1 评论 -
Python实例:文本整理
好多天没写Python了。今天写了一个简单的脚本。为了让很久以前的一些html转成txt,然后放进手机里面阅读。内容都比较简单,就是三个部分:转换单个的html,转换整个文件夹的html,把文件夹内的html合并在一起。初看起来这个代码好像没什么用。其实下载下来的chm文件,其实就是html来的,或者自己下载整本的小说。不过现在整本小说一般都是有得下载的,只是很多广告在里面。最近没原创 2017-04-05 14:28:08 · 4130 阅读 · 1 评论 -
Python实例:pdf文档转txt
首先,这是一个比较粗糙的版本,因为已经够用了,而且对pdf的格式不熟悉,所以暂时没有进一步优化。还有,这是转成txt的,所以如果是有图片的pdf是无法保存图片的。至于本来就是图片的文本,这里是无法分析出来的。那些图片的pdf,估计要用图形匹配的方式来处理,类似于超速拍摄的车牌识别。不过这样的程度,已经不是文本处理了。扯远了。。。转出来的文字,好像按照pdf里面的所展示的来换行了,看原创 2017-04-05 17:40:43 · 6995 阅读 · 3 评论 -
Python3实例:爬取淘宝商品列表
这个实例是从淘宝爬数据,原文是:http://www.cnblogs.com/nima/p/5324490.html因为我比较关心的是网络这一块,所以对文章做了很多删改。侧重在理解request、cookie两个模块至于如何把数据保存到excel,怎么排版,这些是完全没有意义的,不是正式生产环境,做得多么漂亮都没意义。这次用了很多新的模块或概念:图像相关的库Pillow,下原创 2017-04-13 14:37:37 · 15644 阅读 · 1 评论 -
Python3安装PhantomJS和Selenium
之前抓取了某个网站,写了个总结。点击打开链接想着隔一段时间搞一下,结果这几日发现抓取报错。查看一下提示封我IP了。但是我用浏览器打开是没有问题的。估计是我写的爬虫隐藏能力还不够强,被直接认定为爬虫了。只是人家唬我而已。其实后来发现是cookie的问题。不过这个文章就不说这个了。一开始觉得可能是gzip压缩可能被认出,然后我就加了支持gzip了。发下你还不行。只好试试js的运行了。原创 2017-05-12 10:11:58 · 9689 阅读 · 1 评论 -
Python3.4出现unable to find vcvarsall.bat的简单解决方法
安装wordcloud的时候,出现报错,unable to find vcvarsall.bat。研究了好久,发现下面方法可行。找到安装目录下的某个文件夹。例如我的:F:\Python34\Lib\distutils找到msvc9compiler.py打开搜索vc_env = query_vcvarsall(VERSION, plat_spec)把VERSION改成12.0原创 2017-08-13 23:41:01 · 2436 阅读 · 1 评论 -
Python的pip安装失败后解决方法
这两天搞个东西提示我的pip版本太旧,让我升级一下。提示我使用语句:python -m pip install --upgrade pip结果升级完之后,提示安装失败。忘记截图了。升级前是删除旧的PIP的,所以现在我的pip完全无法使用了。如下图:所以只能下载压缩包来安装,下载链接,选择tar.gz结尾的压缩包解压并进入目录打开cmd进入这个目录,执行python setup.py install...原创 2018-04-26 14:48:13 · 24534 阅读 · 2 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(2)
先补充一下网页访问的流程点击打开链接补充一些概念和知识:beautifulsoup:老火汤是用Python写的一个HTML/XML的解析器,可以很好的处理不规范标记并生成剖析树(parse tree)。提供简单又常用的导航(navigating),搜索以及修改剖析树的操作,大大节省编程时间。安装有点麻烦,可以看看这个: 点击打开链接urllib模块:下载网页、资源等用到原创 2017-03-10 17:25:03 · 3238 阅读 · 0 评论 -
Python实例:网络爬虫抓取豆瓣3万本书(1)
花了些时间看了Python一整本书,写了些小例子,因为是有经验的人自学,所以很多都是跳过的。不过学习还是得在实践中去,学一门语言还得运用中去。去下一些例子下来,去运行,调试时最好的了。《网络爬虫抓取豆瓣3万本书》这个代码来自:http://www.cnblogs.com/nima/p/5614662.html#好像是这个博主的课程设计来的,还不知道人家毕业没,不过达者为先,老夫原创 2017-03-09 16:52:33 · 4822 阅读 · 0 评论 -
Python openpyxl下载和安装
openpyxl:操作excel2010 xlsx/xlsm的模块下载地址:https://pypi.python.org/pypi/openpyxl下载解压后,进入到目录内,运行cmd,执行语句python setup.py install。自动安装了,然后看一看eclipse,我的eclipse是一只开着的,没几秒中,就弹出一个对话框然后就完成了。百度一下很多人用p原创 2017-03-11 11:38:12 · 61345 阅读 · 3 评论 -
Python(14):处理xml
xml一直都有接触,再次复习一下吧 这个强制的元素告诉处理器这是一个xml文档。DTD(Document Type Definition)文档类型定义。XPath是在XML文档中描述位置和节点集合的语言。html也是xml的一种,下面来个处理的例子:html文件 fable 程序员 http://blog.youkuaiyun.com/u012175089xxxxxxx原创 2017-03-02 16:01:00 · 2375 阅读 · 0 评论 -
Python(1):HelloWorld
python安装很简单,没有什么要注意的地方。唯一要考虑的是,2.x版本和3.x版本。据说是改动太大,最好只能独立维护。不过初学者嘛,最好还是用新版本的了。1.单引号,双引号,三个双引号是等价的。2.串联字符串,可以用+,也可以不用,直接写出来就行了3.字符串格式说明符%s"John Q. %s" % ("Public")"John %s%s" % (原创 2017-01-26 09:38:40 · 2805 阅读 · 0 评论 -
Python(13):数据库访问
如果要保持复杂的信息,就要用到数据库。多年来,Python已经成熟到可以提供一个通用数据库(DB)的API,成为DB API。DB API使用了数据库的最低标准,并尽可能使用Python不同数据库要下载不同的模块:https://wiki.python.org/moin/DatabaseInterfaces我自己一直用到时MySql,所以https://wiki.python.org/原创 2017-03-02 12:12:52 · 2650 阅读 · 0 评论 -
Python(12):dbm持久字典
很多情况下并不需要一个完整的关系数据库,只是保存一些用户信息而已。键值都是字符串类型DBM是database manager的缩写Python支持很多DBM模块。因为历史原因,有很多dbm库,而且这些库是不兼容的。然而dbm模块是一个方便选择,可以避免选择特定的dbm模块。可以让dbm模块自己做出选择。dbm 选择最好的dbm模块dbm.dumb 使用dbm库的一个简单但可移植原创 2017-03-01 16:40:19 · 5445 阅读 · 3 评论 -
Python(11):GUI
#!/usr/bin/env python 3.6import tkinterfrom tkinter import *import sysstate = '' #定义一个全局变量buttons = [] #定义一个button列表def result(): print('the sum of 2 + 2 is ', 2 + 2) def choose(i):原创 2017-03-01 14:56:15 · 2405 阅读 · 0 评论 -
Python(10):文本处理,正则表达式
os.getcwd() 返回当前目录>>> os.getcwd()'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32'os.listdir(directory) 返回directory目录中的文件名和子目录列表>>> a = os.getcwd()>>> os.listdir(a)原创 2017-02-28 23:03:42 · 3929 阅读 · 0 评论 -
Python(9):深入了解模块
1.使用dir有助于研究模块,包括自己创建的模块2.导入模块import module #导入整个模块from module import item #仅导入一个类或者函数3.重新加载模块import moduleimport impimp.reload(module)4.共有成员如果模块内定义了__all__,解释器使用__all__确定哪些项是共有项如果没原创 2017-02-28 17:43:06 · 2613 阅读 · 0 评论 -
Python(8): Lambda,列表解析器,生成器表达式,range函数
看到这里,我觉得之前的几个文章里面的内容,如果熟悉了就算是入门了。之后的内容,很多都是用到了才需要。甚至很多内容只是提高效率来用的,完全可以通过基础的东西做出来。作为一个初学者,知其然就可以了,不必强求所以然。这个时候,应该去下载别人的一些代码来看看,自己修改,手动做一做是最好的学习。不过我早就不是初学者了,所以继续往下走走,再去练习。或者这是强迫症吧。Lambda:一原创 2017-02-28 15:43:24 · 8182 阅读 · 0 评论 -
Python(15):邮件
电子邮件:一条E-mail消息仅仅是一个有着预定义格式的字符串。想要直接用python在自己的机发送邮件是不行的,要配置一个叫做sendmail的东西。所以一般自己写的代码发邮件,都是通过一些常用的邮件服务器发送的。我们的代码只是向这个邮件服务器发送消息,让服务器去转发邮件。也就是说,一般情况下,我们自己是不能开邮局的,而是做个小小的客户端而已。先是一个发送邮件:#原创 2017-03-02 20:45:21 · 2653 阅读 · 0 评论 -
Python(16):Socket编程
一直想了解一下网络编程,重新学一下Socket,现在有机会了。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)连看看简单的CS例子:服务端代码:import socket原创 2017-03-03 11:13:32 · 2202 阅读 · 0 评论 -
Python(2):元祖、列表、字典、集合等
元组:使用()包着,也可以不用,其实定义元组的是逗号,而不是小括号。不能更改内容,可以使用[]来访问具体下标号的数据有点像C++的数组,但是带const的。而且因为Python的特性,数组是异构的。a = ("aaa") --这是字符串。a = ("aaa",)--这是元组也有点像枚举的感觉,或者可以当做枚举用吧。但是元组这个概念还是不大明白。可能接触到了才能明白吧。原创 2017-02-24 14:36:57 · 2607 阅读 · 0 评论 -
beautifulsoup在windows下的安装
beautifulsoup:对xml,html进行解析,生成对应的树状结构的模块,非常牛逼。我在官网下载了最新的版本,安装后发现还是有问题。在官网下载最新版本https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/这个东西搞了一个晚上,不行就不行,其他博客的好多都是一样的,都不行。最后用了百度经验的方式可以了。可原创 2017-03-09 23:55:29 · 3689 阅读 · 2 评论 -
Python3.4+Eclipse+PyDev
安装Python下载地址:http://www.python.org/现在3.4的支持好像非常好了,所以我是用3.4的。安装JAVA JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlEclipse 需要这个安装好JAVA JDK后才能运行下载Eclipsehttp...原创 2017-03-09 12:03:39 · 4155 阅读 · 3 评论 -
Python(17):Web应用
REST框架:Web框架由它的创始人之一Roy Fielding于2000年定义。成为REST(Representational State Transfer,表示状态转移)。架构最基础的特性是其用途,如果不以用途为指导,将没有办法区分好的架构和坏的架构。Web服务器没有必要指导客户端之前发出的请求,由于这个原因,Web浏览器在发出的每个请求中都要向站点传递cookie和身份验证凭据,原创 2017-03-06 15:14:22 · 2462 阅读 · 0 评论 -
Python(6):模块和包
===========================模块===========================1.Python把py文件叫做模块。2.使用模块需要引入,例如:import sys3.导入模块需要设置路径。>>> import sys>>> print(sys.path)['', 'C:\\Users\\Administrator\\AppD原创 2017-02-27 15:10:56 · 2748 阅读 · 0 评论 -
Python IDE比较与推荐
先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出。有些我没有用过,先不写了。以下是我使用过的python IDEIDE name自动补全智能感知调试语法检查开源特别注意推荐度IDLE手动有(很差)用库无开源原创 2017-03-09 11:48:47 · 5485 阅读 · 0 评论 -
Python(5):类与对象
1.使用dir函数可以列举一个对象所有属性和方法2.创建类和对象classMan:a=Man()#创建一个对象因为是若语言,不需要像C++那样必须在类内声明成员属性。Python类的私有,并没有像C++那样要声明的。通常在成员名称前面加'__'就表示私有的了。但是在类外还是可以直接访问的。只是从语义上表示是私有,而不从语法上进行限制。3.通过dir(a)。可以看原创 2017-02-25 14:36:25 · 2762 阅读 · 1 评论 -
Python(3):比较、分支判断、循环、异常捕捉
1.==、!=、>、2.与、或、非and 第一个为true,才算第二个or 第一个为false,才算第二个都是跟C++一样的。not>>> not 0True>>> not 5False>>> not TrueFalse3.if语句>>> if 2 > 1: print(11111)11111表达式之后,用冒号,下面的要缩进。缩进相同就是同一原创 2017-02-24 15:54:07 · 2894 阅读 · 0 评论 -
Python(4):多文件与函数
使用文件:新建一个xxx.py文件。没错,Python文件都是.py的。就是py交易的那个py。#!/usr/bin/env python 3.6 --这句话是给linux系统用的。没啥事就先不管了。print("Hello world")我用IDLE来编辑的。按F5就会自动运行了。#!/usr/bin/env python 3.6def fun(): "my原创 2017-02-24 17:43:24 · 3714 阅读 · 0 评论