之前遇到一个场景是这样的:我在自己的电脑上需要用mongodb图形客户端,但是mongodb的服务器地址没有对外网开放,只能通过先登录主机A,然后再从A连接mongodb服务器B。本来想通过ssh端口转发的,但是我没有从机器A连接ssh到B的权限。于是就自己用python写一个。原理很简单。1.开一个socketserver监听连接请求2.每接受一个客户端的连接请求,就往要转发的地址建一条连接请求。即client->proxy->forward。proxy
系统 2019-09-27 17:50:32 2048
由于客户提供的是excel文件,在使用时期望使用csv文件格式,且对某些字段内容需要做一些处理,如从某个字段中固定的几位抽取出来,独立作为一个字段等,下面记录下使用acaconda处理的过程;importpandasdf=pandas.read_excel("/***/***.xlsx")df.columns=[内部为你给你的excel每一列自定义的名称](比如我给我的excel自定义列表为:["url","productName","***",。。。,"
系统 2019-09-27 17:49:31 2048
如果你花费了很多的时间去进行Django数据库事务处理的话,你将会了解到这是让人晕头转向的。在过去,只是提供了简单的基础文档,要想清楚知道它是怎么使用的,还必须要通过创建和执行Django的事务处理。这里有众多的Django事务处理的名词,例如:commit_on_success,commit_manually,commit_unless_maneged,rollback_unless_managed,enter_transaction_managemen
系统 2019-09-27 17:49:03 2048
前言:大家跟我一起念,Python大法好,跟着本宝宝用Python抢火车票首先我们需要splinter安装:pipinstallsplinter-ihttp://pypi.douban.com/simple--trusted-hostpypi.douban.com然后还需要一个浏览器的驱动,当然用chrome啦下载地址:http://chromedriver.storage.googleapis.com/index.html?path=2.20/根据下载的
系统 2019-09-27 17:45:45 2048
到目前为止,还能保持每天抽出一小时来学习。不过由于时间紧,所以一直没来得及进行学习记录,趁着现在有点时间,赶紧补一补第8条:在改写equals的时候请遵守通用约定改写equals方法看似简单,但是有许多的改写方式会导致错误,避免问题最容易的方式就是不改写。那么我们什么时候equals呢?当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念),而且超类也没有改写equals以实现期望的行为,这时我们需要改写equals方法。这通常适合于“值类(valu
系统 2019-08-29 23:04:11 2048
调整前效果见附件第一个图片select前面字段,a.pack_qty,后面字段from表调整后效果见附件第二个图片select前面字段,sum(a.pack_qty),后面字段from表groupby前面字段,后面字段orderbya.row_id总结注意groupby和order的作用由于a.pack_qty求和就要用groupby分组,分组要有所有的字段,除去使用函数的后又由于type_name字段相同的数据不连接在一起,又用order排序groupb
系统 2019-08-29 22:51:19 2048
只是一个范例,是为了代码快速迭代而写的使用了listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);效果图"style="border:1pxsolidblack;"/>importjava.util.ArrayList;importjava.util.List;importandroid.app.Dialog;importandroid.content.Context;importandroid.os.
系统 2019-08-29 22:17:42 2048
主从复制是Mongodb最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。Mongodb主从结构如下图所示:最基本的方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。主节点服务器使用mongod--master方式启动,而从节点服务器则使用mongod--slave--sourcemaster_address方式启动。其中master_address指的是主节点服务器的地址。一般主从节点是在多台服务器上,这里我通过
系统 2019-08-29 22:09:52 2048
前面我们谈到了功能扩展对维护一个软件的巨大作用。实际上,正是因为功能在不断地扩展,才使得我们的很多软件质量在下降。因此,如何进行功能扩展,我们不得不察。每当新功能到来的时候,不用急急匆匆就开始编码,我们应当仔细思考我们的设计,即使是时间非常紧张的项目。用更多的时间去思考与设计,才会用更少的时间去做更简单的设计与编码。在这里,我提倡的是设计应当简单到发指,因为它体现的是一种精巧绝伦,它会使我们的思路更清晰,维护更简单,变更更容易。只有经过仔细的思考,才会做出
系统 2019-08-29 21:59:07 2048
1Python学习笔记(二)2输入输出部分。31.函数str()用于将值转化为适于人阅读的形式,而repr()转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError异常)42.zfill()它用于向数值的字符串表达左侧填充0。53.table={'Sjoerd':4127,'Jack':4098,'Dcab':9678}6fork,vintable.items():7print'%-10s==>%10d'%(k,v)84.table=
系统 2019-08-29 21:57:47 2048