python中的system
㈠ python調用OS.system結束進程問題
os.system是執行命令,是否列印取決於命令是否有返回
如果你想不讓其列印 可以在命令中做手腳如: os.system('taskkill /IM dllhost.exe > NUL')
㈡ python 中os.system() 調用命令超時後,如何停止
可以考慮改用 subprocess 這個庫來實現
比如
p = subprocess.Popen([『your command』, 'params and options'])
try:
p.wait(my_timeout)
except subp.TimeoutExpired:
p.kill()
㈢ python 中os.system和commands.getoutput的區別是什麼
1. 使用os.system("cmd")
2. 使用Popen模塊產生新的process
現在大部分人都喜歡使用Popen。Popen方法不會列印出cmd在linux上執行的信息。的確,Popen非常強大,支持多種參數和模式。使用前需要from subprocess import Popen,
3: PIPE。但是Popen函數有一個缺陷,就是它是一個阻塞的方法。如果運行cmd時產生的內容非常多,函數非常容易阻塞住。解決辦法是不使用
4: wait()方法,但是也不能獲得執行的返回值了。
5: Popen原型是:
subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
6: 參數bufsize:指定緩沖。我到現在還不清楚這個參數的具體含義,望各個大牛指點。
7: 參數executable用於指定可執行程序。一般情況下我們通過args參數來設置所要運行的程序。如果將參數shell設為 True,executable將指定程序使用的shell。在windows平台下,默認的shell由COMSPEC環境變數來指定。
8: 參數stdin, stdout, stderr分別表示程序的標准輸入、輸出、錯誤句柄。他們可以是PIPE,文件描述符或文件對象,也可以設置為None,表示從父進程繼承。
9: 參數preexec_fn只在Unix平台下有效,用於指定一個可執行對象(callable object),它將在子進程運行之前被調用
㈣ Python中 System.out.println(a/b);是什麼意思啊 謝謝!
這是java不是python。
1.意思是輸出a/b的結果,但是這個結果是自動取整的。比如說3/2=1.5,但是它會輸出它的整數部分,也就是1。
2.意思是輸出將a/b的結果強制類型轉換成double類型,然後輸出。再拿3/2舉例,輸出結果就會帶小數,是1.5
㈤ python 中os.system()的用法
os模塊中的system()函數可以方便地運行其他程序或者腳本。
語法如下:os.system(command)
其參數含義如下所示:
command 要執行的命令,相當於在Windows的cmd窗口中輸入的命令。如果要向程序或者腳本傳遞參數,可以使用空格分隔程序及多個參數。
(5)python中的system擴展閱讀
Python在執行時,首先會將.py文件中的源代碼編譯成Python的byte code(位元組碼),然後再由Python Virtual Machine(Python虛擬機)來執行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。
這里的高級並不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。
基於C的Python編譯出的位元組碼文件,通常是.pyc格式。
除此之外,Python還可以以交互模式運行,比如主流操作系統Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環境。直接下達操作指令即可實現交互操作。
㈥ python中sys是什麼模塊
python中的sys是提供了一系列有關python運行環境的變數和函數的模塊,如sys.argv函數實現從程序外部向程序傳遞參數;sys.platform函數用於獲取當前系統平台。
sys模塊提供了一系列有關Python運行環境的變數和函數。
(推薦教程:Python入門教程)
sys模塊的常見函數列表
sys.argv: 實現從程序外部向程序傳遞參數。
sys.exit([arg]): 程序中間的退出,arg=0為正常退出。
sys.getdefaultencoding(): 獲取系統當前編碼,一般默認為ascii。
sys.setdefaultencoding(): 設置系統默認編碼,執行dir(sys)時不會看到這個方法,在解釋器中執行不通過,可以先執行reload(sys),在執行 setdefaultencoding('utf8'),此時將系統默認編碼設置為utf8。(見設置系統默認編碼 )
sys.getfilesystemencoding(): 獲取文件系統使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys.path: 獲取指定模塊搜索路徑的字元串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到。
sys.platform: 獲取當前系統平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變數包含與標准I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設備( device ), 或者以非標準的方式處理它們
㈦ Python 3 中 os.system調用問題
ifnotos.path.exists(dst_dir):
os.mkdir(dst_dir)
print("thisDIR%ssetupSuccessful!"%dst_dir)
else:
print("thisDIR%sisexists!"%dst_dir)
zip_command="winrara%s%s"%(r_name,''.join(source))
#這個winrar,你在cmd能運行嗎?不能的話就加入絕對路徑
print(zip_command)
try:
os.system(zip_command)
print("傷不起!")
exceptExceptionase:
print(e)
print("命令執行失敗咯,你懂得!")
㈧ python如何終止os.system調用的程序
建議用subprocess
因為如果你的程序不會自動停止,那麼用os.system(cmd),cmd會一直持續運行知道調用的程序返回結果。
subprocess可以開啟一個子線程,在子線程裡面調用,在你需要的時候就可以把這個子線程關掉,這樣代碼也更靈活
例如:
p = subprocess.Popen("your command")
#todo
#anything you want
time.sleep(10)
p.kill()
這段代碼就是在"your command"運行10秒以後,把它殺掉
㈨ python中os.system能排除狀態值嗎
可以使用os.popen方法
os.system返回的狀態值,os.popen返回的命令輸出內容。
㈩ python 的os.system問題
能先說下你想要運行什麼命令嗎,cmd泛指command,所以再dos窗口並沒有名叫「cmd」的命令。
你可以這樣操作(windows系統):
cmd = "dir"
os.system(cmd)
等價於:os.system("dir")