pythonic之好用的语句

1. commands模块,比subprocess和os.popen好用

如下执行shell命令,同时获取返回值和结果

>>>commands.getstatusoutput('ls /bin/ls')

>>>(0,'/bin/ls')

2. collections.Counter类

>>> from collections import Counter

>>> fruits = ['orange', 'banana', 'apple', 'orange', 'banana']

>>> Counter(fruits)

Counter({'orange': 2, 'banana': 2, 'apple': 1})

3.copy模块

copy.copy(x): ref copy

copy.deepcopy(x): object copy

4. ConfigParser模块

cat format.conf

[DEFAULT]

conn_str = %(dbn)s://%(user)s:%(pw)s@%(host)s:%(port)s/%(db)s

dbn = mysql

user = root

host = localhost

port = 3306

[db1]

user = aaa

pw = ppp

db = example1

[db2]

host = 192.168.0.110

pw = www

db = example

---------------------------------------------------------

cat readformat.py

import ConfigParser

conf = ConfigParser.ConfigParser()

conf.read('format.conf')

print conf.get('db1', 'conn_str')

print conf.get('db2', 'conn_str')

-----------------------------------------------------------

python readformat.py

mysql://aaa:ppp@localhost:3306/example1

mysql://root:www@192.168.0.110:3306/example

5.argparse代替optparse

1)argparse支持参数分组

2)argparse支持子命令

3)支持 非法参数处理

指定type和default参数

cat prog.py

import argparse

parser=argparse.ArgumentParser()

parser.add_argument("square", help="display a square of a given number",type=int,default=3)

args=parser.parse_args()

print args.square**2

下面是运行结果:

$python prog.py 4

16

6. pandas处理csv

7.小于1G的xml用xml.etree.ElementTree, 大于1G的用lxml

ref some examples of beautiful Pythonic code

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 中医认为,多气多血的地方毛多。所以从眉毛可以看出人的气血虚实,也可以看出一个人的性情。眉毛粗且浓密的人爱操心。眉毛...
    大海安然阅读 1,560评论 0 0
  • 昨天晚上在朋友圈里了发了一篇熊孩纸的作文,大家哈哈大笑。这样很好,我很高兴。你不知道的是,昨晚我和熊孩纸对峙了一晚...
    原来是二姐阅读 531评论 0 0
  • 大半夜的起来吃泡面 体重56.55公斤,骑车四十分钟,还得加油啊,一到冬天就懒惰了
    SPP164810阅读 212评论 0 0
  • 我常常在想—— 我想成为一只轻鸟; 不要华丽繁复的羽毛, 不要金丝编织的鸟笼和陶瓷的食缸; 我只要披身灰色的硬羽,...
    叮咚良人阅读 523评论 0 1