我遇到了這個:>>> import os>>> os.system('ls')file.txt README0什么是返回值os.system()?為什么我得到0?
3 回答

慕后森
TA貢獻1802條經驗 獲得超5個贊
的返回值os.system取決于OS。
在Unix上,返回值是一個16位數字,包含兩個不同的信息。從文檔中:
一個16位數字,其低字節是殺死進程的信號號,其高字節是退出狀態(如果信號號為零)
因此,如果信號編號(低字節)為0,則從理論上講,將結果移位8位(result >> 8)以獲取錯誤代碼是安全的。該功能os.WEXITSTATUS正是這樣做的。如果錯誤代碼為0,則通常意味著該過程已退出且沒有錯誤。
在Windows上,文檔指定的返回值os.system取決于外殼程序。如果shell是cmd.exe(默認值),則該值是進程的返回碼。同樣,0表示沒有錯誤。
添加回答
舉報
0/150
提交
取消