我有一个广泛使用 Python(2.* 风格)的项目,我想知道是否有终端菜单库或类似的东西?我希望通过使用箭头键突出显示选项、一些颜色等简化一些选项,为我的脚本注入一些风味和活力。我隐约记得有一种方法可以制作 bash shell 终端菜单,但我不知道都知道我如何将用户输入从 bash 传递到 python 脚本,也许有一个 bash 终端菜单用 sysarggs 推送脚本调用?如果可能的话,我想要 python 方面的东西。有什么建议么?
这也只是一个随机问题,因为我们讨论的是终端美学的主题,所以有点适合这里,处理计数器的最佳方法是什么?我的脚本查找图像文件,然后当它找到一个时,它会通过子进程调用清除终端,然后打印再次找到的总图像 IE 10 个图像,找到一个,清除,打印“找到 11 个图像”,有时我的脚本可以工作真的很快,我觉得这会损害性能。想法?
非常感谢大家,我喜欢堆栈溢出;)
编辑 - 感谢您的快速回复!我有很多选择需要考虑。我给每个人都投了赞成票,因为你们的所有回复都很有帮助。当我回家时,我会检查所有的图书馆,并尝试根据最佳答案选择你们中的一个作为答案,但希望我可以选择你们所有人,因为你们所有的答案都是相关的!非常感谢大家。下班回家后我会回来报告,并有机会编写一些代码;)
编辑2 - 对计数器/进度显示的澄清,当我的脚本在很短的时间内找到数千张图像时,寻找一种方法来防止这种情况损害性能,这是真正的切碎的python...
for each item in list:
if item ends with .jpg
cnt=cnt+1
do stuff with image file
subprocess.call('clear')
print str(cnt)+" total images processed."
再次感谢!
查看Clint (*C*命令*L*ine *IN*接口*T*ools)!
- 官方网站:https://github.com/kennethreitz/clint https://github.com/kennethreitz/clint
- 很棒的概述:http://www.nicosphere.net/clint-command-line-library-for-python/ http://www.nicosphere.net/clint-command-line-library-for-python/
颜色示例:
from clint.textui import colored
print 'I love ' + colored.yellow('pyt') + colored.blue('hon')
还有缩进:
from clint.textui import colored, indent, puts
with indent(3, quote=colored.red(' >')):
puts ('some random text')
puts ('another text')
with indent(3, quote=colored.green(' |')):
puts('some more nested identation')
puts('cool isn\'t?')
附:同一个作者写了一个类似的漂亮的 HTTP 请求库,名为“requests”:https://github.com/kennethreitz/requests https://github.com/kennethreitz/requests
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)