前言上项目的时候,遇见一次需求,需要把在线的其中一个collection里面的数据迁移到另外一个collection下,于是就百度了看到好多文章,其中大部分都是使用导入的方法,没有找到在线数据的迁移方法。于是写了python脚本,分享出来。思路:collection数据量比较大,所以一次性操作所有数据太大,于是分段执行操作。先分段按1000条数据量进行查询,处理成json数据把处理后的json数据发送到目的collection上即可实现:一、使用http的
系统 2019-09-27 17:52:33 1968
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是:pycrypto->ecdsa->paramiko1、安装pyCrypto安装这个比较麻烦,需要本地编译,要装vs或gcc还有一堆配置,还不一定能编译成功。(网上能搜到安装步骤)建议直接下载已编译版:http://www.voidspace.org.uk/p
系统 2019-09-27 17:52:27 1968
文件结构html_downloader.py-下载网页html内容#!/usr/bin/python#-*-coding:UTF-8-*-importurllib2classHtmlDownloader(object):defdownlod(self,url):ifurlisNone:returnNoneresponse=urllib2.urlopen(url)ifresponse.getcode()!=200:returnNonereturnrespon
系统 2019-09-27 17:52:08 1968
for我们先来看一下for语句的格式:foriinrange(0,5):print(i)其中range相当于一个迭代器。我们可以这么尝试:print(list(range(0,5)))输出很简单了,就是01234当然了这里的迭代器可以用自己的list比如:cgg=["cgg","cgg1","cgg2"]foriincgg:print(i)输出结果就是三个字符串以此输出。while循环语句当然少不了while了先来看看while的格式:whilecgg<1
系统 2019-09-27 17:51:52 1968
列表List讓Python的資料型態DataType更有彈性。列表中的值稱為元素element或列表項item。列表的定義如下:[item1,item2,item3,...]列表中元素的datatype可為任意項,甚至可以是嵌入Nested列表,例如:['Apple',85,['Big','Small'],4.0]列表可被視為一個集合Set。1.子集合相加>>>A=[1,2,3]>>>B=[4,5,6]>>>C=A+B>>>C[1,2,3,4,5,6]2.
系统 2019-09-27 17:51:42 1968
Python之父再发文:构建一个PEG解析器image花下猫语:Python之父在Medium上开了博客,现在写了两篇文章,本文是第二篇的译文。前一篇的译文在此,宣布了将要用PEG解析器来替换当前的pgen解析器。本文主要介绍了构建一个PEG解析器的大体思路,并介绍了一些基本的语法规则。根据Python之父的描述,这个PEG解析器还是一个很笼统的实验品,而他也预告了,将会在以后的系列文章中丰富这个解析器。阅读这篇文章就像在读一篇教程,虽然很难看懂,但是感觉
系统 2019-09-27 17:51:22 1968
使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信的基本功能,但是更为通用的一种做法是使用threading.Event对象。使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态
系统 2019-09-27 17:50:54 1968
前言:为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到accesstoken,有效期为两个小时?过了两个小时怎么办?重新获取,来,代码撸起走,啥女朋友没有?获取小程序对应的accesstokendefget_wx_token():url="https://api.weixin.qq.com/cgi-bin/token?"try:respone=requests.get(url,params=
系统 2019-09-27 17:50:53 1968
本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序)。Docker通过封装依赖项,大大减少了开发环境和正式产品的差距。大多数Python开发人员在开发中使用virtualenv。它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(
系统 2019-09-27 17:50:28 1968
Shelve是一个功能强大的Python模块,用于对象持久性。搁置对象时,必须指定一个用于识别对象值的键。通过这种方式,搁置文件成为存储值的数据库,其中任何一个都可以随时访问。Python中搁置的示例代码要搁置对象,首先导入模块,然后按如下方式分配对象值:importshelvedatabase=shelve.open(filename.suffix)object=Object()database['key']=object例如,如果要保留股票数据库,可以
系统 2019-09-27 17:50:00 1968