我在unix shell中運行這個curl命令,它工作(見下文)。我能夠將返回的數據重定向到一個文件,但現在我想在我的代碼中處理數據,而不是在文件中浪費一堆空間。在Python中使用curl在Popen中使用
curl -k -o outputfile.txt 'obfuscatedandVeryLongAddress'
#curl command above, python representation below
addr = "obfuscatedandVeryLongAddress"
theFile = subprocess.Popen(["curl", "-k", addr], stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True)
在這之後,theFile.stdout爲空。在curl命令中返回的數據應該是4000行(在shell中運行命令時驗證)。尺寸是否打破了文件.stdout?我在做別的事嗎?我試着使用:
out, err = theFile.communicate()
,然後打印out變量,但仍然沒有
編輯:格式化和澄清
爲什麼不使用'requests'庫?或者系統默認'urllib'? – SuperSaiyan
相關:[爲什麼shell = True吃我的subprocess.Popen stdout?](http://stackoverflow.com/q/10661457/4279) – jfs