前言上项目的时候,遇见一次需求,需要把在线的其中一个collection里面的数据迁移到另外一个collection下,于是就百度了看到好多文章,其中大部分都是使用导入的方法,没有找到在线数据的迁移方法。于是写了python脚本,分享出来。思路:collection数据量比较大,所以一次性操作所有数据太大,于是分段执行操作。先分段按1000条数据量进行查询,处理成json数据把处理后的json数据发送到目的collection上即可实现:一、使用http的
系统 2019-09-27 17:52:33 2209
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 2209
本文原创并首发于公众号【Python猫】,未经授权,请勿转载。原文地址:https://mp.weixin.qq.com/s/XzCqoCvcpFJt4A-E4WMqaA(一)最近,我突然想到一个问题:相比其它语言,有哪些概念或习惯叫法是Python特有的?在朋友圈提出这个问题后,我得到最多的回复是——Pythonic。这个回复一点都不意外,名字中自带Python的,当然是特有的啦,与它相似的,还有Pythonista。这两个词是啥意思呢?Python圈内
系统 2019-09-27 17:50:45 2209
使用诸如Lock、RLock、Semphore之类的锁原语时,必须多加小心,锁的错误使用很容易导致死锁或相互竞争。依赖锁的代码应该保证当出现异常时可以正常的释放锁。典型代码如下:try:lock.acquire()#关键部分...finally:lock.release()另外,所有种类的锁还支持上下文管理协议(写起来更简洁):with语句自动获取锁,并且在控制流离开上下文时自动释放锁。withlock:#关键部分...此外,编写代码时一般应该避免同时获取
系统 2019-09-27 17:50:41 2209
关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)在前一篇《一文彻底搞懂Python可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)的概念》的文中,知道生成器(Generator)可由以下两
系统 2019-09-27 17:49:37 2209
文章目录遍历列表深入的了解循环在for循环中执行更多的操作在for循环后结束执行一些操作避免缩进错误忘记缩进忘记缩进额外的代码行不必要的缩进循环后不必要的缩进遗漏了冒号小插曲创建数值列表使用函数range()使用range()创建数字列表对数字列表执行简单的统计计算列表解析小插曲使用列表的一部分切片遍历切片复制列表小插曲元组定义元组遍历元组中的所有值修改元组变量小插曲设置代码格式格式指南缩进行长空行小插曲遍历列表通俗易懂地来说,遍历列表就是把你列表中的每个
系统 2019-09-27 17:48:49 2209
--安装python从官方网站下载并安装Python3.x最新版https://www.python.org/downloads/mac-osx/--安装pippip是python第三方包(扩展功能包)安装和管理工具,有了它我们可以安装各种扩展功能终端执行下面的命令,安装pipsudoeasy_installpip--安装virtualenvVirtualenv是用来为每个项目创建单独的python虚拟运行环境,每个项目可以使用不同的第三方包,各个项目互不
系统 2019-09-27 17:48:32 2209
python中对对象dump报错:ObjectoftypeCOUPON_CATE_V2isnotJSONserializable使用classObj.__dict__如打印对象:print(str(coupon_cate_v2.__dict__))
系统 2019-09-27 17:48:11 2209
写python协程时使用gevent模块和queue模块可以大大提高爬虫速度。在同时爬取多个网站时,原来用for循环一个网站一个网站按循序顺序爬,就像先烧饭后烧菜,两个步骤异步进行。使用多协程可以让爬虫自己选择爬取顺序,就像边烧饭边烧菜,两个步骤同步进行,速度自然快了。不多说了,来看下代码吧:fromgeventimportmonkeymonkey.patch_all()#打上多协程布丁,下面的程序就可以执行多协程了importrequests,geven
系统 2019-09-27 17:47:59 2209
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助力我们拥有实现复杂命令行程序的能力。本系列文章默认
系统 2019-09-27 17:47:16 2209