在循环对象和函数对象中,我们了解了循环器(iterator)的功能。循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法(__next__()方法,在Python3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。在foriiniterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等容器变为循环器。比如:复制代码代码如下:f
系统 2019-09-27 17:53:54 1942
本文实例讲述了Python实现的远程文件自动打包并下载功能。分享给大家供大家参考,具体如下:一点睛在Linux系统集群运营当中,时常需要批量远程执行Linux命令,并且双向同步文件的操作。本示例通过使用spawn()方法执行ssh、scp命令的思路来实现。二代码importpexpectimportsysip="192.168.0.104"user="root"passwd="123456"target_file="/data/test.txt"child
系统 2019-09-27 17:53:37 1942
阻塞IO(blockingIO)在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:当用户进程调用了recvfrom这个系统调用,kernel内核就开始了IO的第一个阶段:准备数据。对于networkio(网络io)来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel(内核)就要等待足够的数据到来。等着对方把数据放到自己操作系统内存而在用户进程这边,整个进程会被阻塞。
系统 2019-09-27 17:53:03 1942
爬虫爬取网页信息的思路:发送网页端请求—>获取响应内容—>解析内容—>获取想要的数据—>保存数据这次我们要实现的是爬取静态网页的股票数据,首先是获取沪深A股的所有股票代码,再用这些股票代码获取相应股票的信息东方财富网有所有个股的股票代码(沪深A股所有股票)查看其网页源代码在网页源代码中可以搜索到相应的元素,判断其是数据是静态的接下来是获取每只个股的信息,由于周六日没开市,东方财富网的个股信息没有显示这里改用百度股市通(个股)同样地检查元素可以发现个股的信息
系统 2019-09-27 17:52:55 1942
作者:HelloGitHub-Prodesire前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认使用Python3作为解释器进行讲解。若你仍在使用Python2,请注意两者之间语法和库的使用差异哦~git常用命令大家不妨回忆一下,平时最常
系统 2019-09-27 17:52:51 1942
本文分享的实例主要实现的是Python+matplotlib绘制一个有阴影和没有阴影的3D条形图,具体如下。首先看看演示效果:完整代码如下:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3D#setupthefigureandaxesfig=plt.figure(figsize=(8,3))ax1=fig.add_subplot(121,projec
系统 2019-09-27 17:52:34 1942
如果页数太多的话,全部显示在页面上就会显得很冗杂可以在页面中显示规定的页码数例如:book_list.html:书籍列表序号id书名{%forbookinbooks%}{{forloop.counter}}{{book.id}}{{book.title}}{%endfor%}«{{page_html|safe}}»views.py:fromdjango.shortcutsimportrenderfromapp01importmodelsdefbook_li
系统 2019-09-27 17:52:03 1942
Python操作RabbitMQ路由(六)一、路由(Routing):本章打算新增加一个功能,使它可以达到仅订阅消息的一个子集。举个栗子,我们需要把验证的错误日志信息写入日志文件(存储到磁盘),但同时仍然把所有的日志信息输出到控制台中。二、绑定(Bindings):绑定(Binding)是指交换机(Exchange)和队列(Queue)的关系;绑定的时候可以带上一个额外的routing_key参数。为了避免与basic_publish的参数混淆,我们把它叫
系统 2019-09-27 17:50:10 1942
DesktopNexus是我最喜爱的一个壁纸下载网站,上面有许多高质量的壁纸,几乎每天必上,每月也必会坚持分享我这个月来收集的壁纸但是DesktopNexus壁纸的下载很麻烦,而且因为壁纸会通过浏览器检测你当前分辨率来展示合适你当前分辨率的壁纸,再加上是国外的网站,速度上很不乐观。于是我写了个脚本,检测输入的页面中壁纸页面的链接,然后批量下载到指定文件夹中。脚本使用python写的,所以需要机器上安装有python。用法:$pythondesktop_ne
系统 2019-09-27 17:48:08 1942
一些基本用法,ssl证书和身份认证是尚未验证的importrequestsheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)''AppleWebKit/537.36(KHTML,likeGecko)Chrome/74.0.3729.169Safari/537.36',#'Cookie':'XXXXXXXXXXXXXXXX'}#取得图片#res=requests.get("https://p
系统 2019-09-27 17:47:54 1942
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。Python3中可以使用json模块来对JSON数据进行编解码,它包含了两个函数:json.dumps():对数据进行编码。json.loads():对数据进行解码。importjson#Python字典类型转换为JSON对象data={'no':1,'name':'Runoob','url':'http://www.runoob.
系统 2019-09-27 17:46:18 1942
Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密。先导入md5加密所需模块:复制代码代码如下:importhashlib创建md5对象复制代码代码如下:m=hashlib.md5()生成加密串,其中password是要加密的字符串复制代码代码如下:m.update('password')获取加密串复制代码代码如下:psw=m.hexdigest()输出复制代码代码如下:printpsw执行:复制代码代码
系统 2019-09-27 17:46:16 1942
#coding:utf-8#批量修改文件名importosimportreimportdatetimere_st=r'(\d+)\+\s?\((\d+)\)'#用于匹配旧的文件名,需含分组re_match_old_file_name=re.compile(re_st)#要修改的目录WORKING_PATH=r'F:\Gallery'#--------------------------------------------------------------
系统 2019-09-27 17:45:44 1942
目录一、执行Python程序的两种方式1.1交互式1.2命令行式二、执行Python程序的两种IDE2.1Pycharm2.2Jupyter三、变量3.1什么是变量?3.2变量的组成?3.3变量名的定义规范3.4定义变量的两种方式3.5常量四、注释4.1单行注释4.2多行注释4.3引用计数4.4垃圾回收机制4.5小整数池五、花式赋值5.1链式赋值5.2交叉赋值六、与用户交互七、input八、格式化输出8.1占位符8.2format格式化8.3f-strin
系统 2019-09-27 17:45:33 1942
1、Requests模块说明Requests是使用Apache2Licensed许可证的HTTP库。用Python编写,真正的为人类着想。Python标准库中的urllib2模块提供了你所需要的大多数HTTP功能,但是它的API太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。在Python的世界里,事情不应该这么麻烦。Requests使用的是urllib3,因此继承了它的所有特性。Requests
系统 2019-09-27 17:38:31 1942