解决思路首先想到的就是利用python的正则表达式来匹配非法字符,然后找出非法记录。然而理想总是丰满的,现实却是残酷的。在实现的过程中,才发现自己对于字符编码、以及python内部字符串表示的相关知识的缺乏。在这期间,踩过了不少坑,到最后虽然还有些模糊的地方,但总算有一个总体清晰的了解。在此记录下心得,避免以后在同一个地方跌倒。以下的测试环境是ArcGIS10.3自带的python2.7.8环境,不保证其他python环境也适用。python正则表达式py
系统 2019-09-27 17:37:48 1907
先使用一些关键参数创建对象实例,如下:>>>p=Publisher(name='Apress',...address='2855TelegraphAve.',...city='Berkeley',...state_province='CA',...country='U.S.A.',...website='http://www.apress.com/')这个对象实例并没有对数据库做修改。在调用``save()``方法之前,记录并没有保存至数据库,像这样:>>
系统 2019-09-27 17:37:48 1907
最近想找几本电子书看看,就翻啊翻,然后呢,找到了一个叫做周读的网站,网站特别好,简单清爽,书籍很多,而且打开都是百度网盘可以直接下载,更新速度也还可以,于是乎,我给爬了。本篇文章学习即可,这么好的分享网站,尽量不要去爬,影响人家访问速度就不好了http://www.ireadweek.com/,想要数据的,可以在我博客下面评论,我发给你,QQ,邮箱,啥的都可以。这个网站页面逻辑特别简单,我翻了翻书籍详情页面,就是下面这个样子的,我们只需要循环生成这些页面的
系统 2019-09-27 17:56:54 1906
最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。并发处理的技术背景并行化处理目前很受重视,因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代,所以像lisp这种古老的语言又被人们重新拿了起来,函数式编程也越来越流行。介绍一个python的并行处理的一个库:greenlet。python有一个非常有名的库叫做stackless,用来做并发处理,主
系统 2019-09-27 17:56:35 1906
python网络编程详解网络编程的专利权应该属于Unix,各个平台(如windows、Linux等)、各门语言(C、C++、Python、Java等)所实现的符合自身特性的语法都大同小异。在我看来,懂得了Unix的socket网络编程,其他的形式的网络编程方法也就知道了。这句话说得还不太严谨。准确的应该说成懂得了socket编程的原理,网络编程也就知道了,不同之处就在于每个平台,每个语言都有自己专享的语法,我们直接灵活套用就行了。下面是用python实现的
系统 2019-09-27 17:55:59 1906
python统计代码行数简单实例送测的时候,发现需要统计代码行数于是写了个小程序统计自己的代码的行数。#calclate_code_lines.pyimportosdefafileline(f_path):res=0f=open(f_path)forlinesinf:iflines.split():res+=1returnresif__name__=='__main__':host='E:'+os.sep+'develop'+os.sep+'dev_wor
系统 2019-09-27 17:55:46 1906
1.urllib.error.URLError:解决办法:退出网页上的谷歌账号,然后在命令行中进行认证。2.安装pyCrypto出现error:MicrosoftVisualC++14.0isrequired.安装pycryptodome来代替pyCrypto
系统 2019-09-27 17:55:09 1906
为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明)。下面我说安装使用的方法。首先下载clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾),将这个文件放在PythonX\Lib\idlelib目录下(X为你的python版本),然后在这个目录下找到config-extensions.def这个文件(idle扩展的配置文件),
系统 2019-09-27 17:55:08 1906
当我们的函数接收参数为任意个,或者不能确定参数个数时,我们,可以利用*来定义任意数目的参数,这个函数调用时,其所有不匹配的位置参数会被赋值为元组,我们可以在函数利用循环或索引进行使用deff(*args):#直接打印元组参数print(args)print('-'*20)#循环打印元组参数[print(i)foriinargs]...#传递一个参数f(1)print('='*20)#传递5个参数f(1,2,3,4,5)示例结果:(1,)----------
系统 2019-09-27 17:55:07 1906
文章目录1.函数的执行流程1.1.字节码了解压栈过程1.2.嵌套函数的压栈2.递归2.1.递归函数2.2.递归的性能2.3.递归的优化2.4.间接递归2.5.递归总结3.匿名函数4.Python生成器4.1.基本结构4.2.使用场景4.3.协程coroutine4.4.yieldfrom1.函数的执行流程函数的执行需要对函数进行压栈,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要的变量以及指针的意思。具体涉及的知识非常多,这里就以一个Pyth
系统 2019-09-27 17:54:56 1906
前言自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。那么今天我们就把不同模块处理excel文件的方法做个总结,直接做封装,方便我们以后直接使用,增加工作效率。openpyxlopenpyxl是个第三方库,首先我们使用命令pipinstallopenpyxl直接安装注:openpyxl操作excel时,行
系统 2019-09-27 17:54:53 1906
pycharm软件很好,但是不能在无图形的终端下使用,另外它们是“重量级选手”。如果偶尔需要vim编辑python程序,让vim支持python的语法提示不是更好!实际上,vim支持python提示,就是把python以及各种各样模块的常用指令都写到一个字典里。操作步骤如下:1、创建vim插件工作目录[root@zsl~]#mkdir-p~/.vim/bundle/2、下载插件[root@zsl~]#cd~/.vim/bundle/[root@zsl~]#
系统 2019-09-27 17:54:31 1906
综述本系列文档用于对Python爬虫技术的学习进行记录总结。Python版本是3.7.4urllib库介绍它是Python内置的HTTP请求库,也就是说我们不需要额外安装即可使用,它包含四个模块(主要对前三个模块进行学习):request:它是最基本的HTTP请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入URL还有额外的参数,就可以模拟实现这个过程了。error:异常处理模块,如果出现请求错误,我们可以捕
系统 2019-09-27 17:54:27 1906
python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的登录功能,然后利用多线程调用相应字典里面的字段进行登录,还能根据自己的需要,根据自身的情况编写需要的程序,让程序代替我们去做一些枯燥的重复工作。下面直接上代码,下面是主文件复制代码代码如下:importosimporttimeimportthreadingclassmythread(threading.Thread):
系统 2019-09-27 17:54:23 1906
有时候我们的爬虫程序添加了代理,但是我们不知道程序是否获取到了ip,尤其是动态转发模式的,这时候就需要进行检测了,以下是一种代理是否伪装成功的检测方式,这里推介使用亿牛云提供的代码示例。Python¶requests#!-*-encoding:utf-8-*-importrequestsimportrandom#要访问的目标页面targetUrl="http://httpbin.org/ip"#要访问的目标HTTPS页面#targetUrl="https:
系统 2019-09-27 17:54:07 1906