Python2 x設定命令執行的超時時間

2021-08-08 06:36:10 字數 700 閱讀 3913

在python2.x中的幾個用來執行命令列的庫或函式在執行命令是均不能設定乙個命令執行的超時時間,用來在命令執行時間超時時終端這個命令的執行,這個功能在3.x(?)中解決了,但是在2.x還是只能自己實現。

下面就簡單實現了乙個版本:

import subprocess

from threading import timer

defcall

(args, timeout):

p = subprocess.popen(args, stdout=subprocess.pipe, stderr=subprocess.pipe)

timer = timer(timeout, lambda process: process.kill(), [p])

try:

timer.start()

stdout, stderr = p.communicate()

return_code = p.returncode

return (stdout, stderr, return_code)

finally:

timer.cancel()

測試

Python 2 x如何設定命令執行的超時時間例項

前言 在python2.x中的幾個用來執行命令列的庫或函式在執行命令是均不能設定乙個命令執行的超時時間,用來在命令執行時間超時時終端這個命令的執行,這個功能在3.x 中解決了,但是在2.x還是只能自己實現。下面話不多說了,來一起看看詳細的介紹吧。下面就簡單實現了乙個版本 import subproc...

Python2 X輸入函式

mystr raw input 請輸入指令 import os os.system mystr 執行結果 ps input返回的是數值型別,如int,float raw inpout返回的是 字串型別 string型別 若輸入是表示式,則input會計算出表示式的值,而raw input會原樣輸出 ...

簡介python2 x的編碼

python2.x的中文編碼真是令人頭痛,簡單寫下自己的一點python編碼轉換的體會。windows平台用的預設編碼格式為gbk s raw input 在windows平台下 s 的字元編碼就是gbk,若要轉換為utf 8,則必須借助python內建物件unicode作為中介 u s.encod...