Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux或者類UNIX 的橋樑。

在計算機科學中,Shell俗稱殼(用來區別於核),是指“為使用者提供操作介面”的軟體(命令解析器)。它類似於DOS下的command。com和後來的cmd。exe。它接收使用者命令,然後呼叫相應的應用程式。

用途:使用使用者的預設憑證和環境執行shell。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

Shell 既是一種命令語言,又是一種程式設計語言。

Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。

python內建的os模組提供了非常豐富的方法用來與作業系統進行互動,可以深入學習python的os模組。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

python可以解決shell之類的工具程式設計難,同時可讀性差的問題

shell的功能

Python

均可實現,而且程式碼量更少、結構更優、可閱讀性更好,

而Python可實現的功能Shell卻不一定能,如運維中會用到的用於網路通訊的Socket模組、用於WEB的Django框架、用於效能採集的psutil模組等,而且Shell對作業系統的命令依賴性較強,Python可在更大程度上規避。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

在一個Shell的IDE是個很大的問題,雖然Python的原生IDE不怎麼樣,但第三方的IDE還是功能十分強大的,雖然不能和微軟的Virtual Studio相媲美,但也是能完全滿足Python的開發需求的。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

不知道大家是不是經常使用命令列,比如 rm -rf * 不知道大家用過沒有。

我比較常用命令列,有時候會寫一些 Bash 指令碼,但是每次用迴圈的時候我都比較頭疼,Shell 指令碼的迴圈語法真的太難記了。一般在這個時候我就會想起 Python 得好,

for … range 就跟說話一樣,太友好了。

今天要推薦的專案 Xonsh 就非常巧妙地解決了我的問題,它透過集合 Python 和 Shell 的優點,比如看下圖。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

看到上面的語法,真的讓我極度舒適。

不過以上還只是 Xonsh 的其中一種用法,我們來分別介紹一下。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

1、Xonsh 可以直接當 Shell 命令列使用

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

2、Xonsh 可以直接按 Python 的語法使用

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

3、Xonsh 可以在 Shell 中使用 Python 語法

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

總結

看完是不是有點 Python 和 Shell 分不清了,但是真的好用。除此之外,Xonsh 還提供其他的一些擴充套件功能,比如 Xontribs 提供了第三方的系統擴充套件、提供了豐富的介面來查詢命令執行歷史、提供了強大的命令列可配置的能力。

Python 和 Shell 語法之間終於架起了名為“Xonsh”的橋樑

點選載入圖片

安裝方法比較的簡單,使用命令列:python -m pip install xonsh 即可。

相關文章