前言上项目的时候,遇见一次需求,需要把在线的其中一个collection里面的数据迁移到另外一个collection下,于是就百度了看到好多文章,其中大部分都是使用导入的方法,没有找到在线数据的迁移方法。于是写了python脚本,分享出来。思路:collection数据量比较大,所以一次性操作所有数据太大,于是分段执行操作。先分段按1000条数据量进行查询,处理成json数据把处理后的json数据发送到目的collection上即可实现:一、使用http的
系统 2019-09-27 17:52:33 1824
一、异常1.1异常介绍异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下:1.2异常种类在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误1#触发IndexError2l=['egon','aa']3l[3]45#触发KeyError6dic={'name':'egon'}7dic['age']89#触发ValueError10s='hello'1
系统 2019-09-27 17:52:31 1824
随着脚本复杂程度增加,配置文件成了必不可少。之前一直使用json文件,当作配置文件。比较之下,configparser库更加适合。下述文件为一个简单的configparser库的配置文件config.ini[testdb]db_port=3306db_host=127.0.0.1db_user=rootdb_passwd=123456#remark[zhfx]target="zy-zhfx"targets=["zy-zhfx"]num=3上述方括号内的[]
系统 2019-09-27 17:52:13 1824
以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过。(很多时候只是print)就从网上查找一下~方法:复制代码代码如下:python-mpdba.pya.py是python文件。(Pdb)模式下的常用命令:q退出debugh即help,打印所有可以命令hw打印命令w的含意n执行当前行直到到达下一行或直到它返回s执行当前行,一有可能就停止(比如当前行有一个函数调用)。它和n(next)的区别是当前行中有函数调用时s(s
系统 2019-09-27 17:51:05 1824
scipy的引入要制作一张具有特定形状的词云图,便需要一张原始图片提供形状参数,于是我们便要使用scipyscipy的安装在Windows系统中,在命令提示符中输入pipinstallscipy进行安装若报错则尝试pip3installscipy或sudopip3installscipy在苹果系统中则建议直接输入sudopip3installscipy若报错则参照Windows下的方法scipy的运用scipy旨在提取原始图片的形状参数,并应用于制作特定形
系统 2019-09-27 17:50:36 1824
(一)什么是json:JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python
系统 2019-09-27 17:50:34 1824
1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel
系统 2019-09-27 17:49:28 1824
'''利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。'''frompip._vendor.distlib.compatimportraw_inputdeftest1(n):f=""ifn>=90:f="A"elif60<=n<=89:f="B"else:f="C"print("%d成绩%s"%(n,f));num=raw_input("请输入:");num=int(num)test1(n
系统 2019-09-27 17:48:27 1824
通过一个for循环,将一个一个字符追加到字符串中:方法一:string=''str=u"追加字符"foriinrange(len(str)):string+=str[i]printstring显示结果:追加字符方法二:string=[]str=u"1234"foriinrange(len(str)):string.append(str[i])printstring显示结果:[u'1',u'2',u'3',u'4']以上这篇python字符串追加实例就是小编
系统 2019-09-27 17:48:12 1824
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 1824