通过命令行即时编码答案
howdoi的Python项目详细描述
你好
通过命令行即时编码答案
你是黑客程序员吗?你经常在网上搜索 如何完成基本的编程任务?
假设您想知道如何在bash中格式化日期。为什么要打开浏览器 当你可以简单地呆在这里的时候浏览博客(冒着分心的危险) 在控制台中询问howdoi:
$ howdoi format date bash > DATE=`date +%Y-%m-%d`
如何回答各种问题:
$ howdoi print stack trace python > import traceback > > try: > 1/0 > except: > print '>>> traceback <<<' > traceback.print_exc() > print '>>> end of traceback <<<' > traceback.print_exc() $ howdoi convert mp4 to animated gif > video=/path/to/video.avi > outdir=/path/to/output.gif > mplayer "$video" \ > -ao null \ > -ss "00:01:00" \ # starting point > -endpos 10 \ # duration in second > -vo gif89a:fps=13:output=$outdir \ > -vf scale=240:180 $ howdoi create tar archive > tar -cf backup.tar --exclude "www/subf3" www
安装
pip install howdoi
或
pip install git+https://github.com/gleitz/howdoi.git#egg=howdoi
或
python setup.py install
用法
usage: howdoi.py [-h] [-p POS] [-a] [-l] [-c] [-n NUM_ANSWERS] [-C] [-v] [-e ENGINE] QUERY [QUERY ...] instant coding answers via the command line positional arguments: QUERY the question to answer optional arguments: -h, --help show this help message and exit -p POS, --pos POS select answer in specified position (default: 1) -a, --all display the full text of the answer -l, --link display only the answer link -c, --color enable colorized output -n NUM_ANSWERS, --num-answers NUM_ANSWERS number of answers to return -C, --clear-cache clear the cache -v, --version displays the current version of howdoi -e ENGINE, --engine ENGINE change search engine for this query only. Currently supported engines: google (default), bing.
作为一种快捷方式,如果每次都使用相同的参数,并且不想键入这些参数,请添加类似于.bash_配置文件的内容(或其他内容)。此示例每次提供5个彩色结果。
alias h='function hdi(){ howdoi $* -c -n 5; }; hdi'
然后要从命令行运行它,只需键入:
$h this is my query for howdoi
作者
- 本杰明·格雷兹曼(benjamin gleitzman)(格雷兹 @gleitz )
注释
- 与python2和python3一起工作
- 一个包装howdoi的gui在这里可用。
- Alfred Howdoi工作流可在http://blog.gleitzman.com/post/48539944559/howdoi-alfred-even-more-instant-answers" rel="nofollow">http://blog.gleitzman.com/post/48539944559/howdoi Alfred even more instant answers
- slack集成可以通过slack howdoi来实现。
- howdoi使用缓存来更快地访问前面的问题。可以通过设置howdoi_disable_cache环境变量来禁用缓存功能。缓存存储在 ~/.cache/howdoi
- 您可以设置howdoi_url环境变量来更改答案的源url(默认值: stackoverflow.com ,也支持: serverfault.com , pt.stackoverflow.com , 完整列表 )。
- 您可以设置howdoi_search_engine环境变量,以更改stackoverflow链接的基础搜索引擎(默认值: google ,也支持: bing )。-e标志将为单个查询切换基础引擎。
- 默认情况下,设置howdoi_colorize环境变量将使输出着色。
- 特别感谢rich jones( @miserlou )提出了这个想法。
开发
- 签出回购协议
- 运行python howdoi.howdoi查询(如果您尝试运行python howdoi/howdoi.py,您可能会得到 值错误:尝试在非包中进行相对导入。
如果要在python脚本中使用howdoi,请使用以下代码段:
from howdoi import howdoi query = "for loop python" parser = howdoi.get_parser() args = vars(parser.parse_args(query.split(' '))) output = howdoi.howdoi(args)
贡献
我很高兴能接受那些能让你好过得更好的请求。如果您正在考虑贡献,并希望在跳入代码库之前获得一些反馈,请在github上发布一个 问题 。
在接受prs之前,他们必须通过所有travis测试,并且没有任何flake8或pylint警告或错误。此项目对两个linter(根目录中的 .flake8rc 和 .pylintrc 都使用vanilla配置文件,但最大行长为119。
故障排除
使用自制程序安装时可能会出现以下错误:
$ howdoi format date bash > DATE=`date +%Y-%m-%d`0
通过执行以下命令修复错误:
$ howdoi format date bash > DATE=`date +%Y-%m-%d`1
python 3.3+for windows的官方lxml尚未发布。安装时可能会出错。 从
$ howdoi format date bash > DATE=`date +%Y-%m-%d`2
新闻
1.2.1
- 修复依赖关系问题
1.2.0
- 启动、应答获取和缓存的速度得到了极大的提高
- 备用搜索引擎的命令行标志
- 删除重复的答案
1.1.14
- 使用标记语法显示的链接
- 提高性能和缓存(再次)
1.1.13
- 提高了性能和缓存
- 更友好的答案显示
- 增加了对Python3.6的支持
- 删除了对Python2.6的支持
1.1.12
- 添加其他搜索引擎支持
1.1.11
- 修复utf-8编码的问题
1.1.10
- 请求1个答案时在输出中包含链接
- 与LinuxBrew兼容
1.1.9
- 修复上载到pypi的问题
1.1.8
- 修复启用howdoi_colorize env变量时的着色问题
- 修复禁用SSL时的证书验证
1.1.7
- 使用howdoi_本地化env变量添加本地化支持(当前只有pt br和en)
1.1.6
- python3的更新
- 缓存更新
1.1.5
- python3的更新
- 修复缓存问题
- 允许在访问google时禁用ssl
1.1.4
- 添加了缓存
1.1.3
- 在google搜索页面html中添加了处理更改的修复程序
- 更新了Travis CI测试
1.1.2
- python3.2的兼容性修复程序
- travis ci测试现在正在为python 2.6、2.7、3.2和3.3运行
1.1.1
- 当问题没有答案时添加消息
< 1.1 > < > >
- 使用-n/–num answers标志添加了多个答案
- 添加了带-c/–颜色标志的彩色输出
- 在问题底部添加了带有-a/–all标志的答案链接
- 单元测试现在通过travis ci进行管理
1</H3>
-
增加了对python3的支持
-
切换到请求库而不是urllib2
-
项目状态更改为生产/稳定
-
在自述文件中添加了故障排除步骤
0.2</H3>
-
添加了SANE标志
-
现在使用
/usr/bin/env python而不是
/usr/bin/python
-
已更新的brew自述文件安装说明
0.1.2
< UL>0.1.1
- 添加到PYPI