在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。下面给出了三种遍历文件每行的方式
系统 2019-09-27 17:56:36 1964
python读取excel文件生成sql文件实例详解学了python这么久,总算是在工作中用到一次。这次是为了从excel文件中读取数据然后写入到数据库中。这个逻辑用java来写的话就太重了,所以这次考虑通过python脚本来实现。在此之前需要给python添加一个xlrd模块,这个模块是专门用来操作excel文件的。在mac中可以通过easy_installxlrd命令实现自动安装模块importxdrlib,sysimportxlrddefopen_e
系统 2019-09-27 17:55:37 1964
itchat模块官方参考文档:https://itchat.readthedocs.io/zh/latest/安装pipinstallitchat/pip3installitchat原理Python模仿网页版微信登陆,并且现有一套操作网页版微信的API,可以将你使用微信中产生的数据爬下来,并做出相应的处理。操作1.导入这套微信API的包itchatimportitchat2.模仿网页版微信登陆itchat.auto_login()3.使用相关函数找到相关微
系统 2019-09-27 17:54:06 1964
Python适配器模式,代码,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s
系统 2019-09-27 17:52:07 1964
列表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 1964
今天我们讲一下用Python写的GUI小程序。一个小闹钟(只是屏幕提示,没有声音哦)让我们先介绍这个闹钟如何奇葩。需要通过命令行启动。没有标题栏。没菜单。甚至没有关闭按钮。没有运行界面。看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢。显然,教育意义大于其实际用处。像其他的模块一样,QT界面包是需要加载的。我们用到了命令行输入,所以,sys模块也是必须的。用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块。让我们先写impor
系统 2019-09-27 17:50:44 1964
Shelve是一个功能强大的Python模块,用于对象持久性。搁置对象时,必须指定一个用于识别对象值的键。通过这种方式,搁置文件成为存储值的数据库,其中任何一个都可以随时访问。Python中搁置的示例代码要搁置对象,首先导入模块,然后按如下方式分配对象值:importshelvedatabase=shelve.open(filename.suffix)object=Object()database['key']=object例如,如果要保留股票数据库,可以
系统 2019-09-27 17:50:00 1964
环境spyder(python3.6)代码:fromflaskimportFlask,requestimportjsonimportsysdefaultencoding='utf-8'importloggingdeftt(name,age):result_str="%s今年%s岁"%(name,age)returnresult_strapp=Flask(__name__)@app.route("/test_1.0",methods=["GET"])defc
系统 2019-09-27 17:49:36 1964
1、a.log文件中包含以下eddy|123|18jay|456|202、目标结构:2.1、['eddy|123|18','jay|456|20']2.2、[['eddy','123','18'],['jay','456','20']]defli(f1):new_li=[]withopen('a.log',mode='r',encoding='utf-8')asf1:data=f1.read()data1=data.split('\n')returndat
系统 2019-09-27 17:49:35 1964
之前用featureCount处理得到结果,要提出第一列gene_id和readcount列,首先软件输出的第一行默认是你使用的命令行,没有用,用bash批量删掉。foriin`ls`;dosed-i'1d'$i;done删除当前文件夹下所有文件第一行。其实提出两列很简单,不过我受够了每次一个文件执行一次的烦。想搞成别的程序调用时命令行参数直接就行。第一次知道sys.argv这玩意,学到了。我设置了-i输入,-o输出这两个参数来判断输入输出文件个数,不过对
系统 2019-09-27 17:49:32 1964