我正在使用Fabric進行項目管理,部署等。我不太瞭解運行命令的更方便的方法。例如,考慮我不在乎織物local
函數的capture
和shell
參數,這些函數的優點/缺點如下?運行OS本機命令VS Python中的Fabric
os.mkdir(path)
VS
local("mkdir %s" % path)
我正在使用Fabric進行項目管理,部署等。我不太瞭解運行命令的更方便的方法。例如,考慮我不在乎織物local
函數的capture
和shell
參數,這些函數的優點/缺點如下?運行OS本機命令VS Python中的Fabric
os.mkdir(path)
VS
local("mkdir %s" % path)
根據您的項目的目標,要麼稍微適合一些。這裏有一些優點和缺點。
local
run
更加一致和sudo
local
和run
或sudo
之間切換我認爲,可以很容易地使用標準庫函數應該是代表簡單local
命令由於複雜性較低,僅使用標準庫作爲默認選項編寫。特別情況下,我會問自己哪個更可能:在不同的操作系統上運行此程序,或將此命令從本地轉換爲遠程命令,然後編碼爲local
(如果後者更可能)。
使用OS本機命令意味着你可以將它們作爲參數傳遞給兩個local
和run
。這更加一致和靈活。
一些優點是already mentioned,但認爲使用local
(和朋友)的另一個優點是非Python人員可以更容易地看到發生了什麼。
我會說'本地(「mkdir%s」%路徑)'不太健壯,因爲你不處理空間和/或奇怪的字符的路徑,而'os.mkdir'應該自動處理它們。 但我不知道這對你是否重要。 – Bakuriu