通过命令行即时编码答案

howdoi的Python项目详细描述


你好

http://imgs.xkcd.com/comics/tar.png

通过命令行即时编码答案

https://secure.travis-ci.org/gleitz/howdoi.png?branch=masterhttps://pepy.tech/badge/howdoi

你是黑客程序员吗?你经常在网上搜索 如何完成基本的编程任务?

假设您想知道如何在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>
  • 添加了Windows可执行文件
  • 更新了pip安装说明的自述文件
  • 0.1.1

    • 添加到PYPI

    0.1</H3>
    • 我们是现场直播!

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java使用split函数分割字符串,但没有得到期望的结果   未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误   java elasticsearch vs solr用于定制全文搜索系统   java Android:创建没有startOffset的动画延迟?   java如何查看其他应用程序接收的数据?   java如何在Linux中使用D和classpath选项运行jar文件   java和域设计最佳实践   具有相同内存位置的java数组,将显示为输出   连接到java中的elasticsearch?   Java Playframework重定向到带有Json负载的外部url   java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream   使用POI将Excel日期转换为Java日期,年份未正确显示   oracle从数据库层还是Java层调用webservice?