Linux 下 Python 实现按任意键退出

初学Python时在总想实现一个按任意键继续/退出的程序(受.bat毒害), 奈何一直写不出来, 最近学习Unix C时发现可以通过termios.h库来实现, 尝试一下发现Python也有这个库, 所以终于写出一个这样的程序. 下面是代码: #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import termios def press_any_key_exit(msg): # 获取标准输入的描述符...

comments

grep挽救了我一个下午: 恢复rm -f删除的代码

今天对代码进行重构, 新添加了一个logics.py模块, 但并没有加入到git库中, 然后对代码进行清理, 有一个logs文件夹是不需要的所以我打算清掉它, 但是zsh将补全定位到logics.py, 手上的动作快过了脑子,直接按了回车, 做完心想完了, 一上午白费了, 还要花一下午的时间来重新写出这个代码, 虽然明知没有希望,但是我还是不想放弃, 于是就google一下有无解决办法,意外的是找到一篇文章:用grep恢复误删的文本 好吧虽然不知道能不能用, 但是我要试试,...

comments

使用更加高效的epoll作为pyxmpp2的主循环

引子 之前clubot使用的pyxmpp2的默认mainloop也就是一个poll的主循环,但是clubot上线后资源占用非常厉害,使用strace跟踪发现clubot在不停的poll,查看pyxmpp2代码发现pyxmpp2的poll在使用超时阻塞时使用最小超时时间,而最小超时时间一直是0,所以会变成一个没有超时的非阻塞poll很浪费资源,不打算更改库代码,所以自己仿照poll的mainloop写了一个更加高效的epoll的mainloop 实现 #!/usr/bin/env...

comments

Linux 下使用Python截图自动分享

引子 Linux下不支持QQ等功能丰富的IM,虽然可以通过wine运行QQ2012,但是还是喜欢在gtalk群中聊天,gtalk群不支持图片方式,这就要靠我们大家自己来解决了,eleven开放了一个Image上传和显示接口,提供了使用curl来解决,但是我们公司的网络使用squid禁止了curl的访问,所以整天看他们这么爽的分享图片我也不甘心阿,所以就使用Python写了一个分享图片的脚本 实现...

comments

vLog使用Tornado框架结合memcached缓存页面

原因 Blog是一个更新并不很频繁的一套系统,但是每次刷新页面都要更新数据库反而很浪费资源,添加静态页面生成是一个解决办法,同时缓存是一个更好的主意,可以结合Memcached添加少量的代码进行缓存,而且免去去了每次更新文章都要重新生成静态页面,特别当页面特别多时. 实现 主要通过页面的uri进行缓存,结合tornado.web.RequestHandler的prepare和on_finish方法函数, prepare...

comments

Awesome+tmux+gnomeDo打造高效Linux桌面环境

引言 近期一直在Linux下工作,使用Ubuntu 11.10,经过一段时间的使用和磨合,终于打造出一套适合自己的高效Linux桌面环境,之前也在博客中零散的写了几篇文章分享,在此做一番总结. 首先先放出桌面截图 Awesome 使用Ubuntu 11.10不习惯默认搭载的Unity,Gnome...

comments

Linux高效工作----平铺式窗体管理器Awesome

在Linux桌面环境下开发,总想更高效的工作,我已经装备了Gnome Do和terminator,但是我还是觉得不够快我更加希望能解放右手(当然不是找个妹子戒撸,只是右手的鼠标),而且terminator在跑的东西过多的时候开多个terminator不太好管理,这时候一个词进入了我的眼睛平铺式窗体管理器,与传统窗体管理器不同的是平铺式窗体管理器的窗口不会重叠,窗口会被自动调整成正好铺满全屏的尺寸,也就是说无论开多少窗口都会把屏幕占满,如果想象力贫乏就装一个试试吧:...

comments

Linux桌面高效工作----使用Gnome DO

不知大家是否和我一样在win下系统win+r输入命令来快速启动程序,这两天在Linux下碰到一个比这更爽,更快的软件,Gnome Do. Gnome Do能根据用户键入的内容进行自动匹配,从而快速打开系统中已有的程序、文件、书签等。不仅如此,GNOME Do 还包括插件,从而能够做更多事, 比如你安装了pidgin插件只需输入联系人的名字即可打开与他/她的会话,安装了file这个插件输入文件/目录的名字即可打开目录或文件, 当然还有一个不足就是不支持中文...

comments

推荐两款不错的终端软件

一直在Linux下做开发,一个好用的终端软件能帮你节省很多时间和精力 作为一个经常喜欢敲命令的人,可能要同时做很多操作,Linux各个桌面的窗口切换有多那啥,这里就不吐槽了, 我总是在想要做另外一个操作,但又不想结束当前的工作,之前我习惯于再打开一个终端,但是后来终端越来越多导致我想找回原来的工作的时候就变的很费力,而且对桌面有洁癖的人不允许任务栏太杂...

comments

使用Linux shell实时检测文件变更

使用python做web开发,现在流行使用uwsgi调用python程序,但是使用uwsgi一段时间发现有一个弊端,就是每次更改源代码后必须重启uwsgi才能生效,包括更改模板文件也是,我是个懒人,再经过一段时间反复的更改-重启后我终于忍受不了,决定写一个脚本来定时程序目录的文件改动,并及时自动重启uwsgi,来解放我的双手可以不用理会这些琐碎的重启工作. 用了点时间来编写了一个脚本用来判断是否更改,然后判断是否需要重启uwsgi. 下面放出脚本内容: #!/bin/bash #...

comments