日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python程序设计语言的执行方式_编程语言用Python执行程序的4种方式

發布時間:2023/12/2 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python程序设计语言的执行方式_编程语言用Python执行程序的4种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在編寫代碼中,經常會遇到在 Python程序中打開外部程序的需求,那么在Python里如何打開外部程序呢?今天我們來介紹四種不同的方式,供大家參考收藏。

使用 os.system()

os.system(command)是最簡單的一種方式,我們import os模塊,并調用它的system() 方法即可。

參考以下例子:

通過簡單兩行代碼即可在我的電腦上打開 qq程序,因為我是在MacOS 系統里,所以需要在可執行文件之前加一個open,如果是 Windows只需要填寫可執行文件的絕對路徑即可。

現在我們可以調用稍微復雜一點的命令,實現在 Python中調用ping命令:

不過os.system()的缺點是無法獲取調用后的返回結果,只能通過:

os.system("ping www.baidu.com > result.txt") 這樣的方式把結果管道輸出到本地文件里。

system的返回值只會有0(成功),1和2表示失敗。

總結起來 system()一共干了三件事情:

從主進程中fork一個子進程。

在子進程中調用python的exec函數去執行命令。

在主進程中調用wait(阻塞)等待子進程結束。

如果 對于fork失敗,system()函數返回-1。

使用 os.popen()

os.popen(command) 的調用方式和os.system()類似,不過它是通過創建一個管道的方式來fork子進程實現調用程序的。

我們可以通過讀取popen的返回對象,以便獲取執行結果。

以上代碼我們可以發現對返回對象執行read()方法即可獲取程序執行后的返回結果。

使用 subprocess.open()

subprocess這個模塊在Python用于產生子進程,可以連接子進程的標準輸入輸出,并且可以得到子進程的返回值。

以下是subprocess.Popen()模塊的參數定義:

subprocess.Popen() 的參數解釋:

以下通過subprocess.Popen() 執行tree命令,樹形結構顯示當前程序路徑下的所有文件和目錄:

Popen的參數可以是字符串(string),也可以是列表(list)。

參考兩個以下例子:

subprocess.Popen(["cat","test.md"])

subprocess.Popen("cat test.txt", True)

Popen()還有更多的高級用法,歡迎參考官方文檔進行學習。

使用subprocess.call()

subporcess模塊還有一個call() 方法,可以用于更加簡單的調用外部命令。

subprocess.call (*popenargs , **kwargs )

call的使用方法和Popen基本一致,沒有太大的區別,在這里只是多介紹一種使用方式。

總結:

os.system()用于簡單執行命令,可以顯示執行結果。

os.popen()用于簡單執行命令,不能顯示執行結果,可以通過變量返回執行結果。

subprocess.Popen() 用于執行復雜命令,可以顯示執行結果,可以設置輸出內容。

subprocess.call() 用于執行復雜命令,可以顯示執行結果,可以設置輸出內容。

在過去的幾十年間,大量的編程語言被發明、被取代、被修改或組合在一起。盡管人們多次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之所以有那么多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常大,而且有許多語言對新手來說太難學;還有,不同程序之間的運行成本(runtime cost)各不相同。

總結

以上是生活随笔為你收集整理的python程序设计语言的执行方式_编程语言用Python执行程序的4种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。