2014-01-06 23 views
0

我想運行命令df -h來顯示磁盤信息,但是當我運行我的代碼時,終端上什麼也沒有顯示,我甚至試圖做「df -h> out」。 txt「,然後cat out.txt,但這也不起作用。如何在python中顯示命令的輸出

import sys 
import os 
import subprocess 


def main(): 
    os.system('clear') 
    print("Options: \n") 
    print("1 - Show disk info") 
    print("2 - Quit \n") 
    selection = input('> ') 
    if selection == 1: 
     subprocess.call(['df -h'], shell=True) 
    elif selection == 2: 
     sys.exit(0) 

if __name__ == "__main__": 
    main() 

回答

1

讀取用戶輸入與input()返回一個字符串。但是,您的if/elif聲明將selection的內容與整數進行比較,因此比較始終爲False。作爲解決方法,請使用以下方法:

selection = int(input('> ')) 
if selection == 1: 
    ... 
+0

我覺得現在減速了...... –

+1

不用擔心,我們都做到了。這就是爲什麼交互式開發非常重要 - 運行「類型(選擇)」或者「打印(選擇)」會告訴你你需要知道什麼。 – MattDMo

相關問題