個人筆記,如有錯誤,還請指正。
在 CLI 下寫 UI 應用
前陣子看了一下自己去年寫的 Python-視頻轉字符動畫,感覺好糗。。所以幾乎把整篇文章重寫了一遍。並使用 curses 庫實現字符動畫的播放。
但是感覺,curses 庫不是很好用,而且 curses 庫不跨平台。
於是就看了一下 awesome-python#command-line-tools,然后,就發現了神器asciimatics。
官方說明: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應用的全套解決方案。寫命令行應用,有這一個就夠了。
番外:Python 調用 系統程序(單機)
方法有很多:
- os.system(command: str), 可定制功能弱,如果只是想單純地運行某命令,可以用它。
- subprocess 致力於取代老的 os.system(看上面),有更豐富的功能。
- pyinvoke 是 fabric2 的基礎模塊,實現了本地方法調用部分。比上面兩個強多了。
- 使用 ctypes/cffi 模塊,直接調用
.so
或.dll
的 API.