回覆列表
  • 1 # 使用者1130152154628

    最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,複製程式碼 程式碼如下:os.system("cat /proc/cpuinfo")但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。嘗試第二種方案 os.popen()複製程式碼 程式碼如下:output = os.popen("cat /proc/cpuinfo")print output.read()透過 os.popen() 返回的是 file read 的物件,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程式執行的返回值)嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。複製程式碼 程式碼如下:(status, output) = commands.getstatusoutput("cat /proc/cpuinfo")print status, outputPython Document 中給的一個例子,複製程式碼 程式碼如下:>>> import commands>>> commands.getstatusoutput("ls /bin/ls")(0, "/bin/ls")>>> commands.getstatusoutput("cat /bin/junk")(256, "cat: /bin/junk: No such file or directory")>>> commands.getstatusoutput("/bin/junk")(256, "sh: /bin/junk: not found")>>> commands.getoutput("ls /bin/ls")"/bin/ls">>> commands.getstatus("/bin/ls")"-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls"最後頁面上還可以根據返回值來顯示命令執行結果。

  • 中秋節和大豐收的關聯?
  • 誰看過《轉角遇到愛》?秦朗和俞心蕾的經典臺詞!我要,速度?