python 下執行wget傳入引數

2021-07-22 01:09:32 字數 1463 閱讀 2630

參考:

參考:python中執行shell命令的4種方式 

決定使用subprocess方法呼叫shell

cmd = 'wget -o name url'

因為該命令需要放在引號中,所以'name'與『url』被直接使用,不能夠獲取正確的變數值

使用shell不可行:wget - o $name $url

所以修改

cmd='wget -o %s %s' % (name,url)

import subprocess

name='功夫熊貓.mp4'

url=''

cmd='wget -o %s %s' % (name,url)

subprocess.call(cmd,shell=true)

python經常被稱作「膠水語言」,因為它能夠輕易地操作其他程式,輕易地包裝使用其他語言編寫的庫。今天我們就講解其中的乙個方面,用python呼叫shell命令。用python呼叫shell命令有如下幾種方式:

os.system("the command you want"). 這個呼叫相當直接,且是同步進行的,程式需要阻塞並等待返回。返回值是依賴於系統的,直接返回系統的呼叫返回值,所以windows和linux是不一樣的

os.popen(command[,mode[,bufsize]]),圖中是乙個例子. 可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗時,close()返回系統返回值. 可見它獲取返回值的方式和os.system不同。

使用commands模組,圖中是一組例子。根據你需要的不同,commands模組有三個方法可供選擇。getstatusoutput, getoutput, getstatus。

但是,如上三個方法都不是python推薦的方法,而且在python3中其中兩個已經消失。python文件中目前全力推薦第四個方法,subprocess! subprocess使用起來同樣簡單:

直接呼叫命令,返回值即是系統返回。shell=true表示命令最終在shell中執行。python文件中出於安全考慮,不建議使用shell=true。建議使用python庫來代替shell命令,或使用pipe的一些功能做一些轉義。官方的出發點是好的,不過真心麻煩了很多, so....   如果你更關注命令的終端輸出,可以如下圖這樣操作, 同樣很簡單.

win下安裝wget以及使用wget

1 安裝wget 雙擊安裝 2 系統環境變數,新建 gnu home c program files gnuwin32 3 path新增 分割線 gnu home bin 分割線 命令如下 wget r p k np nc e robots off wget r p k nc e robots of...

執行指令碼 執行python指令碼時傳入引數的三種方式

如果在執行python指令碼時需要傳入一些引數,例如gpus與batch size,可以使用如下三種方式。sys模組是很常用的模組,它封裝了與python直譯器相關的資料,例如sys.modules裡面有已經載入了的所有模組資訊,sys.path裡面是pythonpath的內容,而sys.ar 則封...

python執行帶引數傳入的exe檔案

首先感謝風清揚博主 解決方案 使用bat檔案與os.system 函式。假設我們要執行的temp.exe檔案,有四個需要傳入的引數p1,p2,p3,p4。建立bat檔案temp.bat。set current path dp0 設定當前路徑 start current path temp.exe 1...