db api和csv.dictreader行的方便包装,以及类似的内容。
brunns-row的Python项目详细描述
布伦斯街
方便的db api和csv.dictreader行包装,类似的,灵感来自greg stein可爱的dtuple module。
设置
使用pip安装:
pip install brunns-row
(与往常一样,建议使用venv或virtualenv。)
用法
基本方法是根据某种描述创建包装器对象-通常是
DBAPI cursor的
description,或
csv.DictReader的
fieldnames属性-然后使用包装器的
wrap(row)
方法来包装每一行。wrap(row)
返回一个对象,您可以从该对象访问行的字段
属性。几个简单的例子:
数据库API
cursor=conn.cursor()cursor.execute("SELECT kind, rating FROM sausages ORDER BY rating DESC;")wrapper=RowWrapper(cursor.description)rows=[wrapper.wrap(row)forrowincursor.fetchall()]forrowinrows:print(row.kind,row.rating)
csv.dictreader
reader=csv.DictReader(csv_file)wrapper=RowWrapper(reader.fieldnames)rows=[wrapper.wrap(row)forrowinreader]forrowinrows:print(row.kind,row.rating)
属性名只是尽可能简单的列名,在必要时通过替换 无效的字符,用“A*”预置任何领先的数值,必要时通过加 数字后缀。
开发
需要tox。runmake precommit
告诉您是否可以提交。有关更多选项,请运行:
make help
释放
需要hub、setuptools、wheel和twine。释放n.n.n
:
version="n.n.n"
make precommit && git commit -am"Release $version" && git push # If not already all pushed, which it should be.
hub release create $version -m"Release $version"
python setup.py sdist bdist_wheel
twine upload dist/*$version*
快速版本:
version="n.n.n"
git commit -am"Release $version" && git push && hub release create $version -m"Release $version" && python setup.py sdist bdist_wheel && twine upload dist/*$version*