学以致用

focus on Python , C++, and some interest in Go and R

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页

2012年11月27日

摘要: 将python的logging封装更新了一下,目前支持同时向console,file,socket输出,同时在config_logging或者config_logging_plus的时候先清除根logger的所有handler,避免在某些情况下的重复输出。具体代码如下:# -*- coding: utf-8 -*-'''Modified on 2012-11-27@summary: clear old root logger handlers when reconfig logging@author: JerryKwanCreated on 2012-06-14 19: 阅读全文
posted @ 2012-11-27 20:29 Jerry.Kwan 阅读(2853) 评论(4) 推荐(0) 编辑

2012年11月15日

摘要: 在使用NoVNC的时候,需要VNCServer支持websocket,对于大多数VNCServer来说要想使用NoVNC则需要使用NoVNC自带的./utils/websockify来进行代理或者二次封装,具体操作步骤如下:一、代理方式 1.1 启动 vncserver tightvncserver -geometry 1024x768 -nolisten tcp :1 1.2 使用websockify进行代理 ./utils/websockify 6800 --web ./ localhost:5901 1.3 在vncviewer中使用6800端口进行交互二、二次封装 2.1 二次封装.. 阅读全文
posted @ 2012-11-15 15:50 Jerry.Kwan 阅读(6450) 评论(0) 推荐(0) 编辑

2012年11月9日

摘要: 在使用python的时候,为了提高效率,也为了避开python的GIL限制充分发挥多核的优势,经常会使用multiprocessing模块来实现多进程处理。效率会有很大的提升,但这样一来就引入的多进程管理的问题,比如:假定父进程设定的是启动5个子进程,但在实际运行中因为种种原因有3个子进程异常退出,此时该怎么办?运行过程中想退出整个程序的运行,怎么退出更合理,更优雅?下面的python代码简单展示了如何使用signal来处理multiprocessing协作。# -*- coding: utf-8 -*-'''Created on 2012-10-14 19:50@su 阅读全文
posted @ 2012-11-09 16:58 Jerry.Kwan 阅读(1398) 评论(0) 推荐(0) 编辑

2012年10月23日

摘要: 一个简单的python日志服务器,主要目的是搜集各python logging记录的日志,将其简单汇总。源码如下:# -*- coding: utf-8 -*-'''Created on 2012-06-14 19:50@summary: a simple logging server. use gevent and logging modules@author: JerryKwan'''import osimport pickleimport loggingimport logging.handlersimport structfrom gev 阅读全文
posted @ 2012-10-23 11:10 Jerry.Kwan 阅读(1977) 评论(0) 推荐(0) 编辑

摘要: 在使用scrapy做爬虫的时候碰到一个问题,耗了挺长时间都没有解决,关键是从日志里面没有看出问题,最后还是通过阅读源码才找出问题所在。在此将问题现象以及解决方法记录一下。现象: 在一个页面中有n多的连接,url的正则表达式如下:r"en/descriptions/[\d]+/[-:\.\w]+$",大部分连接都能抓取下来,但部分如 en/descriptions/32725456/not-a-virus:Client-SMTP.Win32.Blat.ai, en/descriptions/33444568/not-a-virus:Client-SMTP.Win32.Blat 阅读全文
posted @ 2012-10-23 11:05 Jerry.Kwan 阅读(2290) 评论(0) 推荐(0) 编辑

2012年9月18日

摘要: 通过源码可以发现,tornado中也是大量使用了python中的logging模块来处理日志操作。但tornado在处理日志的时候,特别是tornado.options.parse_command_line()时将根日志的级别设置为info,这点需要特别注意!如果在tornado.options.parse_command_line()之前程序对logging的日志级别进行了设置,则很有可能会被tornado进行改写,这点需要特别注意。通过下面的代码可以很容易就能看出tornado对跟logger的级别进行了调整:import osimport sslimport loggingfrom to 阅读全文
posted @ 2012-09-18 16:42 Jerry.Kwan 阅读(9431) 评论(1) 推荐(0) 编辑

摘要: (1)创建系统用户 sudo useradd -s /bin/false -M -N sambatest(2)增加samba用户 2.1 创建无密码用户 sudo smbpasswd -a sambatest -n 2.2 使用标准输入创建有密码用户 (echo pass; echo pass) | sudo smbpasswd -s -a test 阅读全文
posted @ 2012-09-18 09:32 Jerry.Kwan 阅读(282) 评论(0) 推荐(0) 编辑

2012年9月6日

摘要: sublime 使用起来很方便,可扩展性也很强,可以安装不同的package来适应不同的需求。介绍一下一个插件Sublime Package Control, 通过Sublime Package Control可以很方便地安装其他package,安装方法有两种:(1)通过sublime的console来安装 打开view菜单中打开console,执行以下命令: import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ip 阅读全文
posted @ 2012-09-06 16:32 Jerry.Kwan 阅读(1149) 评论(0) 推荐(0) 编辑

2012年9月1日

摘要: 本想将google code上的一个项目clone下来看看源码的,但很不幸的是google code这几天也被墙了,做点开源也这么费劲,真的很无语。无奈之下只能通过代理进行git clone了,简述一下操作步骤,希望能对他人有用。(1)创建一目录weed-fs(2)进入weed-fs后执行 git init(3)git config http.proxy http://127.0.0.1:8087 注意将http://127.0.0.1:8087替换成实际的代理地址,根据代理模式的不同选择http.proxy 或者 https.proxy(4)git add remote origin htt 阅读全文
posted @ 2012-09-01 17:00 Jerry.Kwan 阅读(1161) 评论(0) 推荐(0) 编辑

摘要: 偶然看到网上的一篇文章,Treating configuration as code with Python’s import hooks(http://www.taricorp.net/2012/treating-configuration-as-code-with-pythons-import-hook),借助python的import hooks来实现一种新颖的读取配置文件信息的方法,感觉这种想法很不错。其中展现了imp、sys.meta_path、sys.modules的应用,值得一读。现将其转载,期望更多的人能看到。Treating configuration as code wit 阅读全文
posted @ 2012-09-01 10:36 Jerry.Kwan 阅读(1492) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页