在 CLI 下写 UI 应用

前阵子看了一下自己去年写的 Python-视频转字符动画,感觉好糗。。所以几乎把整篇文章重写了一遍。并使用 curses 库实现字符动画的播放。

但是感觉,curses 库不是很好用,而且 curses 库不跨平台。

官方说明:A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations

然后我再看了下面的两个视频例子,我发现有了这东西,我的 JavaFX 也许可以不要学了。。做 UI 不如用这个哈哈。启动肯定比 GUI 要快,还不需要 jre 那么大的依赖包。再说 Unix 系都自带 Pyhton。这个一定要好好玩玩。

构建基于命令的应用

click 最近的 pipenv 就用了它做基础库。提供参数解析,help生成,等等。。就是一个CLI应用的全套解决方案。写命令行应用,有这一个就够了。

P.S. 我还尝试把 video2chars 的 curses 换成 click 试了下,可是可以用,但是有点小问题,一闪一闪的。所以又换了回来。改天再试试。

番外:Python 调用 系统程序(单机)

方法有很多:

os.system(command: str), 可定制功能弱,如果只是想单纯地运行某命令,可以用它。

subprocess 致力于取代老的 os.system(看上面),有更丰富的功能。

pyinvoke 是 fabric2 的基础模块,实现了本地方法调用部分。比上面两个强多了。

使用 ctypes 模块,直接调用 .so 或 .dll 的 API.

用什么库写 Python 命令行程序?看这一篇就够了

作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

NET Core 环境搭建和命令行CLI入门

NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...

NET Core 环境搭建和命令行CLI入门&lbrack;转&rsqb;

NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19      阅读:258      评论:0      收藏:0      [点我收藏+]   标签: N ...

python命令行参数解析模块argparse和docopt

http://blog.csdn.net/pipisorry/article/details/53046471 还有其他两个模块实现这一功能,getopt(等同于C语言中的getopt())和弃用的o ...

Python 命令行之旅 —— 初探 argparse

『讲解开源项目系列』启动--让对开源项目感兴趣的人不再畏惧.让开源项目的发起者不再孤单.跟着我们的文章,你会发现编程的乐趣.使用和发现参与开源项目如此简单.欢迎联系我们给我们投稿,让更多人爱上开源.贡 ...

让你如绅士般基于描述编写 Python 命令行工具的开源项目:docopt

作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

Python 命令行解析模块 —— argparse

argparse是python标准库里面用来处理命令行参数的库,基本使用步骤如下: 1.import argparse    导入模块 2.parser = argparse.ArgumentPars ...

快速上手 Python 命令行模块 Click

关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过 添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后 ...

python命令行下tab键补全命令

在python命令行下不能使用tab键将命令进行补全,手动输入又很容易出错. 解决:tab.py #/usr/bin/env python # -*- coding:utf-8 -*- ''' 该模块 ...

随机推荐

Visual Studio添加dll程序集引用操作步骤

Visual Studio 中添加引用的操作: 在“解决方案资源管理器”中,先右击项目图标,在弹出菜单选择“添加引用...” 然后在弹出的窗口中选择所要添加的选项,点击确定就可以了. 原文:http: ...

解决edittext输入多行可以滑动的问题

解决edittext输入多行可以滑动的问题  Java代码:   public class ScrollEditLayout extends ScrollView { public ScrollEdi ...

boost序列化

#include #include #include

用jQuery&plus;easyUI遇到的几个插件与文件详解

很早就开始跟着老师学习jQuery课程,那时候是要求熟练使用jQuery中的easyUI插件中的控件,包括textbox.combobox.panel.checkbox.tree.datagrid等等 ...

Javascript字典操作

Android Studio使用技巧

1.ctrl+shift+F格式化代码时自动换行: 在settings里面找到Editor>General>Soft Wraps>设置选中Use soft wraps in edit ...

ASP&period;NET-FineUI开发实践-6&lpar;二&rpar;

1.上回说到修改以前的会出现好几个5: 这是因为新增时是只新增到最后一行,所以点击选好了就跑到最后一行了,而且行号不会累积,只加到初始化的行号. 其实js里是有插入的,例子里可以插入到第一行,新增是a ...

HTTP response codes

面试被问起了413和503,我觉得也是够BT的,能问出这种无聊的问题.很多返回码几乎很难遇到,不过还是把MDN上很好的描述转过来作为一个reference. HTTP协议状态码表示的意思主要分为五类 ...

RMQ问题

关于RMQ的问题我就直接截取刘汝佳的<算法竞赛训练指南>上的解释了

&lbrack;HAOI 2007&rsqb;反素数ant

Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0

python 基础命令-Python 命令行(CLI)基础库相关推荐

  1. python 基础命令-python常用命令有哪些

    Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言.它包含了许多命令来帮助我们实现各种各有的功能,接下来在文章中为大家分享 [推荐课程:Python教程] (1)打开csv文件 i ...

  2. python基础指令-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  3. 【ROS基础】Linux命令行

    系列文章目录 [ROS基础]Linux 命令行 [ROS基础].launch 文件语法记录 [ROS基础]CMakeLists.txt 文件语法记录 [ROS基础]Package.xml 文件语法记录 ...

  4. [转载] python docopt_比较Python命令行解析库– Argparse,Docopt和Click

    参考链接: 使用Python的argparse创建命令行实用程序 python docopt About a year ago I began a job where building command ...

  5. 康威生命游戏java_Java Python 康威生命游戏 - 命令行版

    Java & Python 康威生命游戏 - 命令行版(2020年7月23日) 制作背景 高二的时候看霍金的<大设计>最后几页的时候看到里面提到了康威生命游戏,介绍了它的规则,感觉 ...

  6. Python必备基本技能——命令行参数args详解

    Python必备基本技能--命令行参数args详解 1. 效果图 2. 源码 2.1 简单命令行参数 2.1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员.工程师和计算机科学家必备的技能--命令行 ...

  7. python使用argparse解析命令行参数

    python使用argparse解析命令行参数 你的程序如何能够解析命令行选项(位于sys.argv中) #示意使用sys.argv进行参数解析: #注意,sys.argv中第0个索引是函数本身,所以 ...

  8. 【机器学习基础】Python实现行转列?!超简单,赶快get起来

    ◆ ◆ ◆  ◆ ◆ 前言 数据的行转列操作,在实际工作过程中应用非常广泛. 由于不同人员.不同部门对数据结构的认识是不大相同的,尤其是从基层人员手里拿到的数据,更是五花八门,横七竖八. 比如有这样一 ...

  9. 仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题

    仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题 0. 前言 1. 第 1 题:命令行日志记录 2. 第 2 题:将日志存储在磁盘上 3. 第 3 题:命令行参数解析 4. ...

最新文章

  1. dataframe 提取月数据_pandas dataframe数据提取的方法
  2. 按键改变元素背景颜色 链式编程的原理 评分案例 each方法的使用
  3. python判断是不是整数的命令_介绍python判断一个数是不是正小数和整数的方法
  4. 【FPGA Verilog】实验二:key按键基础实验
  5. html 调用c#dll中的控件,C#调用ActiveX控件的方法
  6. SWT FontFieldEditor使用
  7. 聊下并发和Tomcat线程数(错误更正)
  8. Apple越狱后超级实用的Cydia常用源推荐
  9. 如何将谷歌地图叠加到MapGIS三维地球场景
  10. med4way:中介效应和交互效应分析
  11. 网络错误CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/mai...
  12. 蓝牙「5.0」和「4.2」的区别???
  13. CVPR2022:Generalizable Cross-modality Medical Image Segmentation via StyleAugmentation and Dual Norm
  14. Git, GitHub使用记录
  15. mysql查询条件为不等于某个值时,null 查询不到?
  16. noip c语言算法教学视频,信息学奥赛课课通(C++)课程视频课程课件与代码
  17. k8s Nodeport方式下service访问,iptables处理逻辑(转)
  18. 腾讯会议突围背后:端到端实时语音技术是如何保障交流通畅的?
  19. 我们分析了30,000个GitHub项目-以下是Java,JS和Ruby排名前100的图书馆
  20. 喜讯|山东百华鞋业上沂南新闻了!

热门文章

  1. 59.加载Viewcontroller的几种方法(添加导航,解决xib里面空间不显示问题)
  2. POJ 3126 Prime Path BFS搜索
  3. 全面学习ORACLE Scheduler特性(5)Schedules调度Programs执行的Jobs
  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充
  5. Mac版 Android Studio Android Sdk 更新方式
  6. [生物] - 怎样理解细胞分裂次数是有限制的
  7. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
  8. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
  9. python官网安装步骤-Python解释器的安装步骤
  10. python变量类型-【干货】Python基础语法之变量类型