讓我們描繪一下本文的情節:假設您要在本地機器上運行一個進程,而部分程序邏輯卻在另一處。讓我們特別假設這個程序邏輯會不時更新, 而您運行進程時,希望使用最新的程序邏輯。有許多方法可以滿足剛提到的要求;本文將向您說明其中幾種方法。
隨著“可愛的 Python”專欄不斷進行,已經討論了我的公共域實用程序 Txt2Html 的正在進行的增強。該實用程序將“智能 ASCII”文本文件轉換成 HTML。以前的文章討論了實用程序的 Web 代理版本和實用程序的 curses 界面。同樣,我偶爾注意到可以用更有效的方法轉換某些 ASCII 標記,或者解決了一個在處理某個特殊標記結構中的錯誤。
事實上,本專欄的文章都是用 ASCII 編寫的,然后在編輯過程中轉換成您可以閱讀的 HTML 格式。在發表文章草稿之前,我運行了類似以下處理的程序:
文章的命令行 HTML 化
txt2html charming_python_7.txt > charming_python_7.html
如果愿意,我可以指定一些標志來修改操作;但不管怎樣,事實上轉換器的最新版本在我的本地驅動器和路徑中。如果在另一臺機器上工作,或者對于要使用該實用程序的讀者,則過程比較麻煩:請訪問我的網站,注意比較版本號和文件日期(有時更改太小,我不會更改版本號),下載當前版本、將當前版本復制到正確目錄,然后運行命令行轉換器。(請參閱本文后面的 參考資料。)
以上的過程包括幾個需要手工操作且比較費時的步驟。應該更簡單,而且可以做到這點。
命令行 Web 訪問
大多數人認為 Web 是在 GUI 環境中交互式瀏覽頁面的一種方法。那樣做當然很好,但命令行中也有許多功能。帶文本模式 Web 瀏覽器 lynx 的系統完全可以將整個 Web 看作是命令行工具使用的另一個文件集。例如,我發現有些命令很有用:
使用 lynx 進行命令行 Web 瀏覽
lynx -dump http://gnosis.cx/publish/.lynx -dump http://ibm.com/developerworks/. > ibm_developer.txtlynx -dump http://gnosis.cx/publish | wc | sed "s/( *[0-9]* */)/([0-9]*/)/(.*/)//2/g"
第一行說:“將 David Mertz 的主頁(以 ASCII 文本)顯示到控制臺?!钡诙姓f:“將 IBM 的當前 developerWorks 主頁的 ASCII 版本保存到文件?!钡谌惺纠f:“顯示 David 主頁的字數?!保ú槐負募毠潱伙@示與管道結合的命令行工具。)
關于 lynx,有一點要注意它(使用 -dump 選項時)執行幾乎與 Txt2Html 完全相反的操作:前一種工具將 HTML 轉換成文本;而后一種工具則轉換成其它格式。但沒有理由不使用與 lynx 一樣流行的 Txt2Html??梢允褂靡粋€很短的 Python 腳本完成這個操作:
'fetch_txt2html.py' 命令行轉換器
新聞熱點
疑難解答