Python 删除指定日期的日志文件

python脚本执行shell,通过crontab执行python脚本#!/usr/bin/envpython#-*-coding:utf-8-*-importosimporttimeimportdatetimeimportsubprocesstoday=datetime.date.today()deltadays=datetime.timedelta(days=1)#确定日期差额,如前天days=2yesterday=today-deltadaysmonth=yesterday.strftime('%b')date=yesterday.strftime('%d')command1="ls-hl/log1|grep'%s%s'|awk'{printi$9}'i='/log1/'|xargsrm"%(month,date)command11="ls-hl/log1|gr...

python开发解决依赖库的办法

python开发解决依赖库的办法你可以用pip导出你的dependency:$pipfreeze>requirements.txt然后在通过以下命令安装dependency:$pipinstall-rrequirements.txt如此依赖如果你在服务器部署的话,就可以直接安装需要的依赖库,就不用等着报错才去一个一个安装了。

CentOS升级Python到2.7

CentOS6.3上安装的python版本是2.6,不能满足我运行软件的要求,所以对python进行升级。搜索一下了之后发现,也并不是那么单纯简单。下载,解压,编译,安装,这些都是常规操作了。据说系统自带的旧版本python被严重依赖,所以不能卸载原Python,这里选择全新安装.tar-xvfPython-2.7.7.tgzcdPython-2.7.7./configure--prefix=/usr/local/python2.7makemakeinstall安装好后可以运行一下Python看看是否正常了/usr/local/python2.7/bin/python2.7-V接下来需要创建一个链接来使系统默认python变为python2.7。ln-fs/usr/local/python2.7/bin/python/usr/bin/python运行python查看版本python-V进行更改后,yum果然无法运行...

Python Web开发中常用的第三方库

在这里我将介绍一些PythonWeb开发中常用的第三方库。基本适用于Django以外的Web框架(Pyramid,Flask,Tornado,Web.py,Bottle等).##ORMSQLAlchemy,在ORM方面,首选SQLAlchemy,没有之一!支持SQLite,PostgreSQL,MySQL,Oracle,MS-SQL,Firebird,Sybase等主流关系数据库系统支持的Python环境有Python2、Python3,PyPy以及Jython。主要的特性请移步KeyFeaturesofSQLAlchemy推荐和数据库迁移工具Alemic搭配使用MongoEngine,如果你用MongoDB,推荐MongoEngine.##TemplateEngine在模板引擎方便选择也是比较多,有Chameleon、Jinja2、Mako等可供选择,用过Chameleon和Jinja2,性能都非常好.##FormEngineWTForms,推荐!##CacheEngine&SessionStoreBeaker缓存和Session管理首选Beaker,没...

Scrapy 实现MySQLdb Pipline存储数据

这里使用的是MySQLdb-Python,用着还行,嘿嘿代码看这里的fromscrapy.contrib.exporterimportXmlItemExporter,JsonItemExporter,JsonLinesItemExporter,CsvItemExporterfromscrapyimportsignals,logfromscrapy.exceptionsimportDropItemimportdatetime,pymongoimportMySQLdbclassMysqlDBPipline(object):def__init__(self,mysql_host,mysql_db,mysql_user,mysql_passwd):self.mysql_host=mysql_hostself.mysql_db=mysql_dbself.mysql_user=mysql_userself.mysql_passwd=mysql_passwd@classmethoddeffrom_crawler(cls,crawler):returncls(mysql_host=crawler.settings.get('MYSQL_HOST'),mysql_user=crawler.settings.get('MYSQL_USER'),mysql_passwd=crawler.settings.get('M...

Flask中实现使用SQLAlchemy MySQLdb分页的程序逻辑

逻辑的话还是蛮简单的,多查看一个文档就可以了。代码如下page=int(request.args.get('page'))ifrequest.args.get('page')else1pagesize=20prev_page=page-1ifpage-1else1next_page=page+1#关键字查询keywords=request.args.get('keywords')start_date=request.args.get('start_date')end_date=request.args.get('end_date')params_query={}query=Itunes.queryifkeywords:query=query.filter(Itunes.title.startswith(keywords))params_query['keywords']=keywordsifstart_dateandend_date:start='%s00:00:00'%start_dateend='%s23:59:59'%end_datestart=int(time.mktime(time.strptime(start,'%Y-%m-%d%H:%M:%S')))...

用Python实现队列

用Python实现队列#!/usr/bin/envpythonqueue=[]defenQ():queue.append(raw_input('Enternewstring:').strip())defdeQ():iflen(queue)==0:print'Cannotpopfromanemptyqueue'else:print'Removed[',queue.pop(0),']'defviewQ():printqueueCMDS={'e':enQ,'d':deQ,'v':viewQ}defshowMenu():pr='''(E)nqueue(D)equeue(V)iewqueue(Q)uitEnterchoice:'''whileTrue:whileTrue:try:choice=raw_input(pr).strip()[0].lower()except(EOFError,KeyboardInterrupt,IndexError):choice=qprint'\nYouPicked:[%s]'%choiceifchoicenotin'devq':print'Invalidoption...

CentOS升级Python到2.7版本

查看python的版本python-VPython2.4.31.先安装GCCyum-yinstallgcc2.下载Python-2.7.2wgethttp://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz23.解压Python-2.7.2tar-jxvfPython-2.7.2.tar.bz24.进入刚解压后的文件夹(可使用命令):cdPython-2.7.25.安装./configuremakeallmakeinstallmakecleanmakedistclean6.查看版本信息/usr/local/bin/python2.7-V7.建立软连接,使系统默认的python指向python2.7正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.4.3版本,考虑到yum是基于python2.4.3才能正常工作,不敢轻易卸载。如何实现将系统默认的python指向到2.7版本呢?mv/usr/bin/python/usr/bin/python2.4l...

Python assert 和 repr小实例

关于assert和repr的使用,对我来说还是很迷糊,于是有搜索了一些资料进行了整理#!/usr/bin/envpython#!-*-coding=utf-8-*-#!Filename:more_example.py#assert实例#assert语句用来声明某个条件是真的mylist=['items']assertlen(mylist)>=1mylist.pop()try:assertlen(mylist)>=1exceptException:print'AssertionErrorassert报错'#repr实例#repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。>>>i=[]>>>i.append('item')>>>i['item']>>>&n...

Python 函数参数中*(一个星)和**(两个星)的作用和区别

一直对python函数中的参数有个迷惑,最近在学习中,发现了“在函数中接收元组和列表”的是时候明白了其代表的意思一个星(*):表示接收的参数作为元组来处理两个星(**):表示接收的参数作为字典来处理gowhich在这里举个例子#!/usr/bin/envpython#!-*-coding=utf-8-*-#!Filename:powersum.py__author__='DurbanZhang'defpowersum(power,*args):'''Returnthesumofeachargumentraisedtospecifiedpower.'''total=0foriinargs:tot...