2017-05-22 85 views
-1

喜會有人請端口從python2.7這個函數解釋3,因爲我有蜜蜂無法做到從Python 2.7版移植的.bashrc功能到Python 3

function cpuusg(){ 
    echo print `top -n 1 | tr -s " " | cut -d$" " -f10 | tail -n +8 | head -n -1 | paste -sd+ | bc`/ `nproc` | python 
} 
+1

你有沒有嘗試用管道輸出到python3而不是python? –

+0

Python 3的'print'需要括號。另外,在Python 2中'/'除法運算符完成整數除法;在Python 3中它確實是真正的劃分。 –

+0

你爲什麼要把它變成'python',你可以在'bash'中做簡單的算術表達式。當你| |時,你會得到什麼錯誤python3'? – AChampion

回答

1

忽視(幾乎)任何其他問題使用這個函數,問題是正在構造並傳遞給Python的print語句需要轉換爲對函數的調用。

function cpuusg() { 
    numerator=$(top -n 1 | tr -s " " | cut -d " " -f10 | tail -n +8 | head -n -1 | paste -sd+ | bc) 
    denominator=$(nproc) 
    echo "print($numerator/$denominator)" | python 
}