ConfigParser模块解析配置文件

  1. 解析配置文件很常见,Python官方的库ConfigParser就自带了这功能。
  2. 配置文件由多个section构成,每个section下面有多个配置项,配置项的格式为:key=value

假设有一个配置文件为config.conf,格式如下,有两个section,我们来利用ConfigParser模块对其做解析:

[db]
db_host=localhost
db_port=3306
db_user=root
db_pass=toor
[concurrent]
thread=10
processor=20

解析的Python代码如下,比较简单,10分钟就能学完。

import ConfigParser

conf = ConfigParser.ConfigParser()
conf.read("/Users/Heros/config.conf")
all_sections = conf.sections()                       # 返回['db', 'concurrent']
db_options = conf.options("db ...
more ...

Logging模块日志相关

就像Java中有log4j一样,Python也有自己的日志模块Logging。Logging模块提供不同的日志级别
pass

more ...

Shutil模块文件操作

Python文件操作有os.path,用了一段时间发现Shutil强大许多。
pass

more ...

Python做自动化项目的总结

最近项目上有自动化要求,我选择了用Python,对自己的代码能力提高很有帮助。

  • 第一:学东西最快最有效的方法是“用起来”。
  • 第二:通过将实际问题细分力度,用Python逐一解决,这样学到的知识掌握的深。
  • 第三:不要忘了归纳总结,网上信息泛滥,有个地方能记录你的学习进度和学习心得,对IT从业人员是必要的技能。

心灵鸡汤说完了,这里我记录一下这次项目中用到的Python知识点和重点。

Python如何中途退出一个函数?

sys.exit(0)

Python如何判断文件(夹)存在?

os.path.exists(root_dir)

Python如何改变目录?

os.chdir(new_path)

Python如何延时?

time.sleep(30)

Python如何执行系统命令?

os.system('mycommand.bat')

Python如何判断文件扩展名?

file.endswith(".html")

Python如何删除一个文件夹?

shutil.rmtree(file_path, True ...

more ...

requests+BeautifulSoup爬取双色球历史数据

练手入门级爬虫,利用requests+BeautifulSoup(美丽汤>_<)来爬取http://v2ex.com 网站上面的所有帖子,包括帖子标题,作者,时间,主要是正则表达式的学习:

#练习02:2014-11-01
#http://baidu.lecai.com/lottery/draw/list/50
#需求是获取http://baidu.lecai.com/lottery/draw/list/50 彩票网站上面开设双色球以来每一期的开奖日期,开奖期号,开奖号码,当期销量
#通过观察,发现该彩票网站上面包含2003~2014的数据,其url规律是:http://baidu.lecai.com/lottery/draw/list/50?d=2003-01-01
if ...
more ...

Pelican使用经验

Pelican是一套开源的使用Python编写的博客静态生成, 可以添加文章和和创建页面, 可以使用MarkDown reStructuredText 和 AsiiDoc 的格式来抒写, 同时使用 Disqus评论系统, 支持 RSS和Atom输出, 插件, 主题, 代码高亮等功能, 采用Jajin2模板引擎, 可以很容易的更改模板。对于Python爱好者,Pelican无疑是很好的选择,有一些使用过程中的经验,记录下来:

Pelican的Github项目地址:

https://github.com/getpelican/pelican

Pelican帮助

pelican --help

本地预览,预览地址为:http://localhost:8000/
make publish
make serve
更换主题
git clone https://github.com/getpelican/pelican-themes.git
cd pelican-themes
pelican-themes ...
more ...

requests+BeautifulSoup爬取V2EX.COM网站所有帖子

练手入门级爬虫,利用requests+BeautifulSoup(美丽汤>_<)来爬取http://v2ex.com 网站上面的所有帖子,包括帖子标题,作者,时间,主要是正则表达式的学习:

#练习01:2014-10-26
#http://v2ex.com/t/\d+
#需求是获取v2ex网站上面所有的帖子标题,作者,时间
#通过观察,发现v2ex网站上面的帖子的url规律是:http://v2ex.com/t/ + 数字 【截至到写这个程序,v2ex一共有141542个帖子】
"""
if __name__ == "__main__":
    for x in range(1, 5710):   #一共有5710页
        req_html_doc = requests.get("http://v2ex.com/recent?p ...
more ...

使用Pelican + Markdown + GitHub Pages写博客

Pelican是Python写的静态网页生成器,GitHub Pages是Github提供的免费空间,支持自定义域名,支持Markdown语法。

安装Pelican

sudo easy_install pelican markdown

创建目录
cd ~
mkdir pelican
pelican-quickstart
配置Pelican
Welcome to pelican-quickstart v3.4.0.

This script will help you create a new Pelican-based website.
Please answer the following questions so this script can generate the files
needed by Pelican.

> Where do ...
more ...

博客迁徙到GitHub Pages

将博客从Heroku迁徙到GitHub Pages,还是喜欢Markdown,网上搜了一下,发现有一个基于Python的静态网页生成器Pelican,很强大的样子,我原先的博客是基于octopress的,估计格式稍微修改一下就可直接上Pelican了。鉴于本人之前的博客有不少,一篇一篇修改不现实,直接用Python修改吧:

2014.10.24: 将博客从heroku的octopress迁徙到github pages:这段代码实现将目录下面所有的.markdown结尾的文件都替换为.md结尾
dirpath = "/Users/Heros/dev/git/pelican/content/articles/"
for f in os.listdir(dirpath):
    oldfpath = dirpath + f
    print oldfpath
    newfpath = dirpath + f.replace(".markdown", ".md")
    print newfpath
    os.rename(oldfpath, newfpath ...
more ...

从命令行一键配置Jazz Team Server

Jazz Team Server不仅可以从页面 https://127.0.0.1/jts/setup通过Web方式配置,它还提供了一个很有用的repotools-jts工具从命令行一键配置,这为自动化甚至是持续集成测试提供了支持。

本文将介绍如何通过repotools-jts.bat工具从命令行一键配置Jazz Team Server。这里我们以配置默认的Derby数据库和Tomcat服务器为例,更复杂的场景(如WAS和DB2)的配置原理类似,但不在本文的讨论范围内。

第一步

进入Jazz Team Server的安装目录,如C:\temp\jts\server,双击server.startup.bat启动服务器。

第二步

还在当前目录下,新建一个配置文件response-jts.properties,在文件里面指定了配置这个Jazz Team Server所需要的所有参数, 比如创建新的admin的id为'jazz',密码为'passw0rd',服务器的url为 'https ...

more ...