哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。先搞清楚这些名词再说别的:循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则
系统 2019-09-27 17:38:16 1711
下面列出Python正则表达式的几种匹配用法:1.测试正则表达式是否匹配字符串的全部或部分regex=ur""#正则表达式ifre.search(regex,subject):do_something()else:do_anotherthing()2.测试正则表达式是否匹配整个字符串regex=ur"\Z"#正则表达式末尾以\Z结束ifre.match(regex,subject):do_something()else:do_anotherthing()3
系统 2019-09-27 17:38:16 1711
微软最近出了个必应bing缤纷桌面,使用下来还是不错,可以每天更换Bing首页的北京作为壁纸,但是该软件有个不好的地方是,安装后桌面上会有一个搜索框出现,很是烦人,而且不能关掉。于是出于技术考虑,想到了使用Python来实现这个功能。正如很多介绍Python书中那样,Python是中胶水语言,用在哪里都是可行的。想要使用Python给桌面设置背景只需要下个模块安装即可:http://sourceforge.net/projects/pywin32/代码非常
系统 2019-09-27 17:38:16 1711
JSON编码支持的基本数据类型为None,bool,int,float和str,以及包含这些类型数据的lists,tuples和dictionaries。对于dictionaries,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串)。为了遵循JSON规范,你应该只编码Python的lists和dictionaries。而且,在web应用程序中,顶层对象被编码为一个字典是一个标准做法。JSON编码的格式对于Python语法而
系统 2019-09-27 17:38:14 1711
今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出目录名和文件名,而没有绝对路径。使用os.path.listdir可以达到这个目的,然后是创建目录,由于当目录存在是会提示创建失败的错误,所以我先想删除所有目录,然后再创建,但是发现还是有问题,最好还是使用判断如果不存在才创建目录,存在时就不创建,贴下代码:#
系统 2019-09-27 17:38:11 1711
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判
系统 2019-09-27 17:38:10 1711
安装Tornado省事点可以直接用grequests库,下面用的是tornado的异步client。异步用到了tornado,根据官方文档的例子修改得到一个简单的异步爬虫类。可以参考下最新的文档学习下。pipinstalltornado异步爬虫#!/usr/bin/envpython#-*-coding:utf-8-*-importtimefromdatetimeimporttimedeltafromtornadoimporthttpclient,gen,
系统 2019-09-27 17:38:10 1711
1.在Scrapy工程下新建“middlewares.py”#Importingbase64librarybecausewe'llneeditONLYincaseiftheproxywearegoingtouserequiresauthenticationimportbase64#StartyourmiddlewareclassclassProxyMiddleware(object):#overwriteprocessrequestdefprocess_r
系统 2019-09-27 17:38:07 1711
代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth
系统 2019-09-27 17:38:05 1711
①GET#-*-coding:utf-8-*-importrequestsdefget(url,datas=None):response=requests.get(url,params=datas)json=response.json()returnjson注:参数datas为json格式②POST#-*-coding:utf-8-*-importrequestsdefpost(url,datas=None):response=requests.post(
系统 2019-09-27 17:38:03 1711