随笔分类 -  Python

Life is short, you need Python!
摘要:最近翻了一下过去做过的东西,找到了这个绿光照片分享,于是就拿来分享了。项目地址在: https://github.com/restran/green glow 这是我2012年的一个课程作业,实现的功能是照片分享。正好以这个作业学习了 Django 和 Web 开发。当时特别喜欢豆瓣、又拍和 Fli 阅读全文
posted @ 2016-02-18 15:42 NaN-Hax 阅读(3441) 评论(0) 推荐(1) 编辑
摘要:遇到一个 Python 字符串的坑,记录一下。看看下面这些代码 注意列表 的第1个元素后面漏掉了一个 这很容易看走眼吧。而且最最关键的竟然是没有语法错误,而且 PyCharm 也没有提示有错误。 查了一下原来这是一个 Feature 只要把两个字符串放在一起,中间有空白或者没有空白,... 阅读全文
posted @ 2015-11-07 18:00 NaN-Hax 阅读(1522) 评论(1) 推荐(0) 编辑
摘要:最近在使用 Tornado 开发 API,数据库选择了 MongoDB,因为想使用 Geo 搜索的特性。Python 可供选择的 MongoDB Drivers 可以在 "官网查找" 。 在这些 Drivers 中,GitHub 上 Star 数最多的有 3 个: "PyMongo" "M... 阅读全文
posted @ 2015-11-04 22:33 NaN-Hax 阅读(5393) 评论(8) 推荐(0) 编辑
摘要:因为我的个人网站 "restran.net" 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容, "谈谈 Python 程序的运行原理" 这篇文章准确说是『Python 源码剖析』的读书笔记,整理完之后才发现很长,那就将就看吧。 1. 简单的例子 先从一个简单的例子说起, 阅读全文
posted @ 2015-10-22 22:42 NaN-Hax 阅读(42426) 评论(4) 推荐(10) 编辑
摘要:因为我的个人网站 "restran.net" 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容, "Python 进程管理工具 Supervisor 使用教程" "Supervisor" 是基于 Python 的进程管理工具,只能运行在 Unix Like 的系统上,也就 阅读全文
posted @ 2015-10-04 16:04 NaN-Hax 阅读(20279) 评论(0) 推荐(2) 编辑
摘要:因为我的个人网站 "restran.net" 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容, "Python cx_Oracle 安装小记" "SQLAlchemy" 是 Python 中用来操作数据库的一个利器,支持 MySQL、Oracle、PostgreSQL、 阅读全文
posted @ 2015-09-06 22:53 NaN-Hax 阅读(38540) 评论(1) 推荐(1) 编辑
摘要:因为我的个人网站 "restran.net" 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容, "Python 中 logging 日志模块在多进程环境下的使用" 使用 Python 来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信 阅读全文
posted @ 2015-08-19 23:29 NaN-Hax 阅读(29336) 评论(0) 推荐(0) 编辑
摘要:因为我的个人网站 "restran.net" 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容, "CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点" 以下用一个网站 ocean_monitor 举例 MySQL 安装与配置 安装 MariaDB 阅读全文
posted @ 2015-04-09 22:32 NaN-Hax 阅读(5671) 评论(1) 推荐(2) 编辑
摘要:最近在做一个监控程序,需要用邮件发送告警。以前是使用注册的免费邮来发送,但是这样不免有很多限制,而且有时还会当作恶意登录,帐号异常等,还不让登录邮箱了。利用[Postfix][1]提供邮件SMTP服务,可以很自由的发送邮件,任意定义发送者的邮箱地址。感觉都可以用来恶作剧,用别人的邮箱来发邮件呢。**... 阅读全文
posted @ 2015-02-12 21:06 NaN-Hax 阅读(2473) 评论(0) 推荐(0) 编辑
摘要:因为一个奇怪的需求,使用 Python 和 Tornado 框架实现了一个 Web 站点的反向代理。实现的功能是这样:1. 假设这个反向代理网站的地址是 http://www.example.com2. 访问 http://www.example.com/.site.backend_site0/,访... 阅读全文
posted @ 2015-02-09 22:10 NaN-Hax 阅读(3924) 评论(2) 推荐(0) 编辑
摘要:最近遇到一个问题:实验室内部的网络是通过路由器分配IP的,但是经常又需要通过校园网远程实验室内部的电脑,而路由器的外网IP是由DHCP服务器动态分配的,IP地址无法绑定成静态的。RadminViewer远程的速度比较快,但是没办法穿墙,必须知道直连的IP地址,通过在实验室的路由器上设置转发端口,就可以实现实验室内部多台电脑同时远程。但是由于路由器上IP会变,自然想到在服务器上运行一个程序,每隔一段时间监测下路由器的IP,如果变化,就发送邮件通知。使用Python编写,由于是一个后台的程序,自然想到要做出服务,就不会有窗口一直显示。将Python程序以Windows 服务方式启动,需要用到pyw 阅读全文
posted @ 2013-06-01 19:33 NaN-Hax 阅读(1645) 评论(1) 推荐(0) 编辑
摘要:以前在学Java时,记得判断字符串是否相等要用equals(str)方法,而不能直接用==。equals判断的是值是否相同,==判断的是引用是否相同。内容相同的两个字符串其引用可能是不同的。今天在用Python时,也刚好遇到判断字符串是否相等的问题,纠结了一下,想知道Python中字符串是否有equ... 阅读全文
posted @ 2013-04-02 22:30 NaN-Hax 阅读(38043) 评论(1) 推荐(1) 编辑
摘要:以前在写网站的时候,代码总是刻意写得很整齐,而且为了容易看懂,会加很多注释。但是常常希望发布的时候能将代码尽可能压缩,去掉注释以及换行和空格等,以减少不必要的传输开销。之前虽然也知道有可以压缩的工具,但是一直没找到好用的的批处理方法,于是就打算自己写一个。是用Python写的,用了htmlcompressor,关于htmlcompressor的详细信息可以去htmlcompressor的google code首页参考。另外需要保证htmlcompressor-1.5.3.jar和yuicompressor-2.4.7.jar(版本可以不用一致)与BatchCompressor.py在同一目录下 阅读全文
posted @ 2013-01-08 22:21 NaN-Hax 阅读(2274) 评论(0) 推荐(0) 编辑
摘要:最近看到异次元推荐的代码编辑器Sublime Text2,感觉超好用,而且还有很多插件。不仅如此,还可以自己写个小插件。看到有人写了可以插入时间的小插件,于是想写一个可以插入代码文件头的小插件。在用eclipse和pycharm中可以在新建文件的头部加上作者和创建时间等信息。而在sublime中也想有这样的功能,没找到使用方法,于是自然想到自己写。sublime的插件开发是基于Python的,写起来很方便。另附上Sublime Text不完全使用手册的传送门。sublime插件开发的方法还可以参考:http://www.welefen.com/how-to-develop-sublime-te 阅读全文
posted @ 2013-01-07 22:27 NaN-Hax 阅读(1608) 评论(2) 推荐(0) 编辑
摘要:评论如果简单用表单来提交的话,每次做评论都得刷新页面。这样评论完又得重头翻才能找到自己的评论,效果非常不好,于是打算用jQuery来做评论的无刷新提交。实际上就是利用AJAX,将评论数据传到服务器,由服务器将处理后,将数据返回给浏览器,然后修改HTML代码,将评论显示出来。Django中使用jQuery的AJAX操作,还可以参考这里。这是我的HTML代码1 <div>2 <span style="float:left;margin-top:10px;">3 <textarea name="content" rows=&quo 阅读全文
posted @ 2012-04-26 17:50 NaN-Hax 阅读(2068) 评论(1) 推荐(0) 编辑
摘要:OSQA是开源的问答网站,采用Python的Django框架开发。按照官方的安装指南,在安装过程中出现了一些问题,现将试验成功的方法总结下。官方的安装指南:http://wiki.osqa.net/display/docs/Ubuntu+with+Apache+and+MySQL?focusedCommentId=3539023#comment-3539023安装环境:linuxmint11, python2.7, django1.3, apache2.2。本文中,linux的用户名为neil,在安装过程中一些路径请注意替换为真实路径。1. 下载OSQA1) svn下载sudo apt-get 阅读全文
posted @ 2011-12-28 20:38 NaN-Hax 阅读(2582) 评论(9) 推荐(0) 编辑
摘要:myFile = open(文件名,处理模式,输出缓存) 处理模式为可选,默认为'r'。处理模式有'a':追加模式,追加模式属于写模式,不可读;'r':只读模式;'w':只写模式,删除文件已有内容后,开始写。 f = open('data.txt', 'r+w'),表示可读可写,多种操作模式用'+'连接。 f = open('data.txt', 'a'),表示在文件尾部追加内容打开文件。 输出缓存为可选,可传入0,表示无输出缓存,也就是执行write方法后直接传给文件。 file是open的同义词,也就是可以写成myFile = file(文件名,处理模式,输出缓存) 阅读全文
posted @ 2011-11-27 17:12 NaN-Hax 阅读(1171) 评论(0) 推荐(0) 编辑
摘要:元组(tuple)是一个位置有序的对象的集合,支持嵌套,元素通过偏移来访问,支持基于偏移的操作,如分片和索引,与列表非常相似,但是不支持在原处修改,是不可变的。 阅读全文
posted @ 2011-11-27 16:45 NaN-Hax 阅读(395) 评论(0) 推荐(0) 编辑
摘要:字典中的元素是通过键来存取的,而不是通过偏移来存取,保存在字典中的项没有特定的顺序,支持在原处修改。 阅读全文
posted @ 2011-11-27 16:26 NaN-Hax 阅读(495) 评论(0) 推荐(0) 编辑
摘要:列表是任意对象的有序集合。也就是说,其元素可以是任何类型的对象。有序指的是,有严格的从左到右的顺序,这一点不同于字典,可以通过偏移读取,支持在原处修改,长度可变,是可变的类型。 阅读全文
posted @ 2011-11-27 11:15 NaN-Hax 阅读(634) 评论(0) 推荐(0) 编辑