背景 在读取大约200W左右的数据的时候采用游标形式进行数据遍历时,超过10分钟就报错 timeout 原因 pymongo游标会在10分钟之后被关闭 解决方案 db.find({}, no_cursor_timeout=True) 官方文档说明 returned cursor is closed by the server after 10 minutes of inactivity. If set to True, the returned cursor will never time ou…
这里面我们介绍一下python中操作mangodb的第三方库pymongo的使用,以及简单的使用requests库作爬虫.人情冷暖正如花开花谢,不如将这种现象,想成一种必然的季节. pymongo的安装及前期准备 一.mangodb的安装以及启动 测试机器:win10, mangodb版本v3.4.0,python版本3.6.3. mangodb的安装目录:D:\Database\DataBase\Mongo.数据的存放目录:E:\data\database\mango\data.首先我们启动m…
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlwt 其实是没有直接实现: 打开已有的excel文件,然后在文件最后写入,添加新数据 的函数的. 只不过,可以利用: Working with Excel Files in Python 中的库,组合实现. 2. writing to existing workbook using xlwt 给出了示…
  转自http://www.crifan.com/export_data_to_excel_file_in_python/ 在Python中,如何将数据,导出为Excel,即把数据写入到新生成的excel文件. 1.网上看到: Working with Excel Files in Python 其中包括,Python中,如何读取excel文件,如何写入数据到excel文件等等相关的库. 看起来应该是这方面的资料中,总结的最好的了. 2.此处暂时只需要写入数据到Excel,所以就去参考: xl…
1.二叉树的遍历 遍历:迭代所有元素一遍. 树的遍历:对树中所有的元素不重复的访问一遍,也成扫描 广度优先遍历:层序遍历 深度优先遍历:前序.中序.后续遍历. 遍历序列:将树中所有元素遍历一遍后,得到的元素序列.将层次结构转换成了线性结构. 2.层序遍历 按照数的层次,从第一层开始,自左向右遍历元素 遍历顺序ABCDEFGHI 3.深度优先遍历 设树的根节点为D,左子树为L.右子树为R,且要求L一定在R之前,有以下几种遍历方式: 前序遍历:DLR  也是先序遍历,也叫做先根遍历.DLR 中序遍历…
之前一直用判断目录和文件的递归方法来获取一个目录下的所有文件,后来发现python里面已经写好了这个函数,不需要自己递归获取了,记录下os.walk()函数的用法 目的:获取path下所有文件,返回由形如"C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe"组成的列表[] 方法:os.walk(path) 返回包含(dir,folder,file)三种信息的generator(它具体是什么我也不咋明白),其中file为文件名(RtkNGUI…
什么是迭代? 迭代就是重复运行一段代码语句块的能力.分为两种方式 使用递归函数 使用循环(for 或 while 循环) 假设有个需求,要按照降序打印10以下(包括10),0 以上的整数,用递归和循环都可以实现,但都要重复运行一段代码语句,就是迭代. 递归函数实现 先看使用递归函数如何实现 def countdown(n): if n>0: print(n) countdown(n-1) else: print('It\'s over!') countdown(10) 从上面代码中我们定义一个函…
用ipython运行情况如下: #新建字典 In [1]: name_cards = {'name':'sunwukong','QQ':'123124','addr':'秦皇岛'} #生成key对象 In [2]: name_cards.keys() Out[2]: dict_keys(['name', 'QQ', 'addr']) #生成value对象 In [3]: name_cards.values() Out[3]: dict_values(['sunwukong', '123124',…
在开发过程中,很容易出现以下的错误: 可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素. 那么怎么解决这个问题呢? 首先 : 我们尝试把continue去掉: 得出的结果是? 如下: 结果出乎意料,可以看出  3还在,4却没了! 我们分析一下: 当it == 3时:此时将3 从列表中删除.此时,遍历的指针(姑且这么叫)已经指向4了. 但是,it的值还是3!此时输出3,然后进行下一轮循环,即直接到了5. 其实通过列表最后的输出我们可以看到,4还是在的! 那么…
1.在列表本身倒序 a = [1, 3, 7, 5, 2, 6] a.reverse() # 在列表本身进行倒序,不返回新的值 print(a) # 输出a: # [6, 2, 5, 7, 3, 1] 2.返回副本 a = [1, 3, 7, 5, 2, 6] b = a[::-1] # 返回新的数据,需要变量来接收 print(b) # 输出b: # [6, 2, 5, 7, 3, 1] 3.生成迭代器 a = [1, 3, 7, 5, 2, 6] b = reversed(a) # 生成迭代…