欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在多種情況/開發(fā)環(huán)境中運(yùn)行python腳本和代碼的技巧分享

 更新時(shí)間:2023年11月01日 08:59:27   作者:宇宙之一粟  
Python腳本或程序是包含可執(zhí)行Python代碼的文件,能夠運(yùn)行Python腳本和代碼可能是您作為Python開發(fā)人員所需的最重要的技能,在本教程中,您將學(xué)習(xí)一些運(yùn)行Python腳本和代碼的技術(shù),在每種情況下使用的技術(shù)將取決于您的環(huán)境、平臺(tái)、需求和技能

Python 腳本或程序是包含可執(zhí)行 Python 代碼的文件。能夠運(yùn)行 Python 腳本和代碼可能是您作為 Python 開發(fā)人員所需的最重要的技能。通過(guò)運(yùn)行代碼,您將知道它是否按計(jì)劃工作。您還可以測(cè)試和調(diào)試代碼以修復(fù)錯(cuò)誤和問(wèn)題。最終,您編寫代碼是為了運(yùn)行它并完成任務(wù)。

在本教程中,您將學(xué)習(xí)如何:

  • 從操作系統(tǒng)的命令行或終端運(yùn)行 Python 腳本
  • 使用標(biāo)準(zhǔn) REPL 以交互模式執(zhí)行 Python 代碼和腳本
  • 使用您喜愛的 IDE 或代碼編輯器運(yùn)行 Python 腳本
  • 從操作系統(tǒng)的文件管理器中啟動(dòng)腳本和程序

為了充分利用本教程,您應(yīng)該了解使用操作系統(tǒng)終端和文件管理器的基礎(chǔ)知識(shí)。熟悉 Python 友好的 IDE 或代碼編輯器以及標(biāo)準(zhǔn)的 Python REPL(Read-Eval-Print Loop)也是有益的。

什么是腳本和模塊

在計(jì)算機(jī)中,腳本這個(gè)術(shù)語(yǔ)指的是一個(gè)文本文件,它包含了一個(gè)邏輯順序,你可以運(yùn)行它來(lái)完成一個(gè)特定的任務(wù)。這些命令通常用腳本語(yǔ)言表示,腳本語(yǔ)言是一種允許您操作、自定義和自動(dòng)化任務(wù)的編程語(yǔ)言。

腳本語(yǔ)言通常在運(yùn)行時(shí)解釋而不是編譯。因此,腳本通常由某種解釋器運(yùn)行,該解釋器負(fù)責(zé)執(zhí)行序列中的每個(gè)命令。

Python 是一種解釋性語(yǔ)言。因此,Python 程序通常被稱為腳本。然而,這個(gè)術(shù)語(yǔ)并不完全準(zhǔn)確,因?yàn)?Python 程序可能比簡(jiǎn)單的順序腳本復(fù)雜得多。

通常,包含可執(zhí)行 Python 代碼的文件稱為腳本(在更復(fù)雜的應(yīng)用程序中稱為入口點(diǎn)腳本),這是頂級(jí)程序的常用術(shù)語(yǔ)。另一方面,包含 Python 代碼的文件被設(shè)計(jì)為從另一個(gè) Python 文件導(dǎo)入和使用,稱為模塊。

因此,模塊和腳本之間的主要區(qū)別在于模塊存儲(chǔ)可導(dǎo)入的代碼,而腳本存儲(chǔ)可執(zhí)行的代碼。

注:可導(dǎo)入代碼是定義了某些內(nèi)容但不執(zhí)行特定操作的代碼。一些例子包括函數(shù)和類定義。相反,可執(zhí)行代碼是執(zhí)行特定操作的代碼。一些例子包括函數(shù)調(diào)用、循環(huán)和條件。

在下面的部分中,您將學(xué)習(xí)如何運(yùn)行 Python 腳本、程序和代碼。為了開始,您將從學(xué)習(xí)如何從操作系統(tǒng)的命令行或終端運(yùn)行它們開始。

如何在命令行中運(yùn)行 Python 腳本

在 Python 編程中,您可以以純文本文件編寫程序。按照慣例,包含 Python 代碼的文件使用 .py 擴(kuò)展名,腳本或可執(zhí)行程序和模塊之間的文件格式都沒有區(qū)別。所有這些都將使用相同的擴(kuò)展名。

注意:在 Windows 系統(tǒng)上,對(duì)于那些應(yīng)該使用 pythonw.exe 啟動(dòng)器的應(yīng)用程序,擴(kuò)展名也可以是 .pyw 。

要?jiǎng)?chuàng)建 Python 腳本,您可以使用任何 Python 友好的代碼編輯器或 IDE (集成開發(fā)環(huán)境)。要繼續(xù)學(xué)習(xí)本教程,您需要?jiǎng)?chuàng)建一個(gè)基本腳本,因此啟動(dòng)您最喜歡的文本編輯器并創(chuàng)建一個(gè)包含以下代碼的新 hello.py 文件:

# hello.py

print("Hello, World!")

這是 Python 中的經(jīng)典 "Hello, World!" 程序??蓤?zhí)行代碼包括對(duì)內(nèi)置的 print() 函數(shù)的調(diào)用,該函數(shù)在屏幕上顯示 "Hello, World!" 消息。

有了這個(gè)小程序,您就可以學(xué)習(xí)不同的運(yùn)行方法了。您將從命令行運(yùn)行程序開始,這可以說(shuō)是運(yùn)行腳本最常用的方法。

使用 python 命令

要使用 python 命令運(yùn)行 Python 腳本,您需要打開一個(gè)命令行窗口,并鍵入單詞 python ,然后鍵入目標(biāo)腳本的路徑:

Windows:

PS> python .\hello.py
Hello, World!

PS> py .\hello.py
Hello, World!

Linux+macOS:

$ python ./hello.py
Hello, World!

按下 Enter 后,您將在屏幕上看到短語(yǔ) Hello, World! 。如果前面的命令不能正常工作,那么你可能需要檢查 Python 是否在你的系統(tǒng)的 PATH 中。您也可以查看您保存的位置 hello.py 。

注意:在某些Linux發(fā)行版中,可能在某些macOS版本中,您可能需要使用 python3 命令,而不是簡(jiǎn)單的 python 。

就這樣!你已經(jīng)運(yùn)行了你的第一個(gè)腳本!請(qǐng)注意,在 Windows 上,您還可以選擇使用 py 命令,該命令觸發(fā)控制臺(tái)應(yīng)用程序的 py.exe 啟動(dòng)器。這是運(yùn)行 Python 腳本的最基本和最實(shí)用的方法。

注意:如果您從未使用過(guò)命令行或終端,那么您可以嘗試以下操作,具體取決于您的操作系統(tǒng):

  • 在 Windows 上,最新版本的操作系統(tǒng)附帶了一個(gè)名為 PowerShell 的應(yīng)用程序,您可以從搜索欄快速運(yùn)行。一旦你啟動(dòng)了這個(gè)程序,你就可以開始在里面運(yùn)行命令了。
  • 在 Linux 上,有幾個(gè)應(yīng)用程序可以給予訪問(wèn)系統(tǒng)命令行的權(quán)限。在許多桌面環(huán)境中,您可以通過(guò)按 Ctrl + Alt + T 快速訪問(wèn)默認(rèn)終端。
  • 在 macOS 上,您可以從訪達(dá)中訪問(wèn)系統(tǒng)終端,方法是鍵入終端并在應(yīng)用出現(xiàn)時(shí)按 Enter 。

終端或 shell 應(yīng)用程序的一個(gè)很酷的特性是,您可以使用簡(jiǎn)單的語(yǔ)法重定向命令的輸出。如果你需要生成長(zhǎng)文本輸出的 Python 程序,并且您希望將其保存到一個(gè)文件中以供以后分析,則此功能可能非常有用。

在這些情況下,您可以執(zhí)行以下操作:

$ python hello.py > output.txt

在這個(gè)命令中, 重定向符 > 符號(hào)告訴shell將命令的輸出重定向到 output.txt 文件,而不是標(biāo)準(zhǔn)的系統(tǒng)輸出,即屏幕。此過(guò)程通常稱為重定向,它適用于 Windows 和類 Unix 系統(tǒng),如 Linux 和 macOS 。

如果輸出文件不存在,那么 shell 會(huì)自動(dòng)創(chuàng)建它。另一方面,如果文件已經(jīng)存在,那么 shell 會(huì)用新的輸出覆蓋它的舊內(nèi)容。

最后,如果你想把連續(xù)執(zhí)行的輸出添加到 output.txt 的末尾,那么你可以使用兩個(gè)尖括號(hào)( >> )而不是一個(gè):

$ python hello.py >> output.txt

現(xiàn)在,shell 應(yīng)用程序?qū)旬?dāng)前輸出附加到 output.txt 的末尾。您將得到一個(gè)包含短語(yǔ) "Hello, World!" 兩次的文件。

直接使用腳本名稱

在 Windows 上,您還可以通過(guò)在命令行中輸入包含可執(zhí)行代碼的文件的名稱來(lái)運(yùn)行 Python 腳本:

PS> .\hello.py

一旦你寫了腳本的路徑并按下 Enter ,你會(huì)注意到一個(gè)新的終端窗口出現(xiàn)在你的屏幕上幾秒鐘,顯示腳本輸出。這是可能的,因?yàn)?Windows 將 .py 和 .pyw 文件分別關(guān)聯(lián)到 python.exe 和 pythonw.exe 。

這種在 Windows 上運(yùn)行 Python 腳本的方式可能很煩人,因?yàn)榇a在一個(gè)新的終端窗口中運(yùn)行,該窗口在執(zhí)行結(jié)束后自動(dòng)關(guān)閉。在大多數(shù)情況下,您將無(wú)法檢查程序的輸出。

在 Linux 和 macOS 上,您還可以直接運(yùn)行腳本。但是,這里的情況有點(diǎn)不同,您需要一些設(shè)置步驟。繼續(xù)并運(yùn)行以下命令:

$ ./hello.py
bash: ./hello.py: Permission denied

Unix 系統(tǒng)優(yōu)先考慮安全性,這意味著您不能將任何文件作為程序執(zhí)行。所以,當(dāng)你嘗試直接運(yùn)行 hello.py 時(shí),你會(huì)得到一個(gè)權(quán)限被拒絕的錯(cuò)誤。要解決此問(wèn)題,您需要顯式地告訴系統(tǒng)該文件是可執(zhí)行的。為此,您可以使用 chmod 命令:

$ chmod +x hello.py

運(yùn)行此命令后,您的 hello.py 文件將是可執(zhí)行的。然而,這還不足以讓腳本正常運(yùn)行:

$ ./hello.py
./hello.py: line 1: syntax error near unexpected token `"Hello, World!"'
./hello.py: line 1: `print("Hello, World!")'

為什么現(xiàn)在又出現(xiàn)錯(cuò)誤?問(wèn)題是您的操作系統(tǒng)(OS)不知道使用哪個(gè)程序來(lái)運(yùn)行腳本,而是試圖使用 shell 本身來(lái)運(yùn)行腳本。您可以通過(guò)在 hello.py 文件中添加一個(gè)小內(nèi)容來(lái)解決這個(gè)問(wèn)題:

#!/usr/bin/env python3

print("Hello, World!")

您已在 hello.py 的開頭添加了新行。它現(xiàn)在以 Unix 風(fēng)格的 shebang 開始,這是一種特殊的注釋,您可以將其包含在腳本中,以告訴操作系統(tǒng)使用哪個(gè)程序來(lái)運(yùn)行此文件的內(nèi)容。在這種情況下,你告訴操作系統(tǒng)使用 Python。

注意:在 shebang 注釋中,你至少有兩種不同的方式來(lái)指定解釋器的路徑:

提供解釋器的絕對(duì)路徑,如 #!/usr/bin/python3 中所示

使用操作系統(tǒng)的 env 命令,如 #!/usr/bin/env python3 中所示

第一種方法的可移植性較差,因?yàn)椴⒎撬?Unix 系統(tǒng)都將 Python 解釋器放在同一個(gè)目錄中。相比之下,第二種方法更安全,更便攜。它調(diào)用 env 命令來(lái)找出解釋器所在的位置。

現(xiàn)在,您可以直接從命令行運(yùn)行腳本:

$ ./hello.py
Hello, World!

哇!這是一條漫長(zhǎng)的道路!然而,這些努力是值得的,現(xiàn)在當(dāng)你在 Unix 操作系統(tǒng)中創(chuàng)建一個(gè) Python 腳本來(lái)自動(dòng)化任務(wù)時(shí),你知道如何使它可執(zhí)行并從命令行運(yùn)行它。

使用 -m 選項(xiàng)運(yùn)行模塊

python 命令有一系列命令行選項(xiàng),在特定情況下很有用。例如,如果你想運(yùn)行一個(gè) Python 模塊,那么你可以使用命令 python -m <module-name> 。 -m 選項(xiàng)在Python的模塊搜索路徑 sys.path 中搜索模塊名稱并運(yùn)行其內(nèi)容:

$ python -m hello
Hello, World!

在本例中,您將 hello.py 文件作為模塊運(yùn)行。這是可能的,因?yàn)?Python 會(huì)自動(dòng)將當(dāng)前目錄添加到其 sys.path 列表中。請(qǐng)注意, module-name 參數(shù)必須是模塊對(duì)象的名稱,而不是文件名。換句話說(shuō),你不包括 .py 后綴。

注意:當(dāng)您需要使用標(biāo)準(zhǔn)庫(kù)模塊的命令行界面(CLI)時(shí),通常使用 -m 選項(xiàng),例如 pip 、 venv 、 http.server 和 zipfile 。

如果目標(biāo)模塊不在 sys.path 中,那么你會(huì)得到一個(gè)錯(cuò)誤:

$ python -m missing
.../python: No module named missing

在這個(gè)例子中, missing 名稱不在 sys.path 列表中,所以 Python 無(wú)法執(zhí)行它,因此它返回一個(gè)錯(cuò)誤。

如何以交互方式運(yùn)行 Python 代碼

運(yùn)行腳本并不是運(yùn)行 Python 代碼的唯一方法。因?yàn)?Python 是一種解釋型語(yǔ)言,所以你可以使用解釋器來(lái)交互式地運(yùn)行代碼。當(dāng)您運(yùn)行不帶參數(shù)的 python 命令時(shí),您將啟動(dòng)一個(gè)新的交互式會(huì)話或 REPL(讀取-評(píng)估-打印循環(huán))。在那里,你可以運(yùn)行任何 Python 代碼,并立即獲得有關(guān)代碼工作方式的反饋。

在接下來(lái)的部分中,你將學(xué)習(xí) Python 解釋器的基礎(chǔ)知識(shí)以及如何在其中運(yùn)行代碼。這些知識(shí)對(duì)你來(lái)說(shuō)非常有價(jià)值,特別是在那些需要快速測(cè)試一小段 Python 代碼的情況下。

了解Python解釋器

Python 是一種高級(jí)編程語(yǔ)言,具有清晰可讀的語(yǔ)法。Python 及其廣泛的包和庫(kù)生態(tài)系統(tǒng)可以提高您在各個(gè)領(lǐng)域的生產(chǎn)力。Python 這個(gè)名字也指的是一個(gè)叫做解釋器的軟件,它是允許你運(yùn)行 Python 代碼的程序。

解釋器是一層軟件,它在程序和計(jì)算機(jī)硬件之間工作,使代碼運(yùn)行。根據(jù)您使用的 Python 實(shí)現(xiàn),解釋器可以是用以下語(yǔ)言編寫的程序:

  • C,比如 CPython,這是該語(yǔ)言的核心實(shí)現(xiàn)
  • Python 本身,比如 PyPy,它是一個(gè)帶有即時(shí)(just-in time, JIT)編譯器的快速實(shí)現(xiàn)
  • Java,比如 Jython,它可以利用 Java 生態(tài)系統(tǒng)
  • .Net,比如 IronPython,它使用 .NET 生態(tài)系統(tǒng)

無(wú)論你使用什么解釋器,你寫的代碼都會(huì)在這個(gè)程序中運(yùn)行。因此,能夠運(yùn)行腳本和代碼的第一個(gè)條件是在操作系統(tǒng)上正確安裝解釋器。

Python解釋器可以以兩種不同的模式運(yùn)行代碼:

腳本模式下,您使用解釋器將源文件作為可執(zhí)行程序運(yùn)行,就像您在上一節(jié)中學(xué)習(xí)的那樣。在這種情況下, Python 加載文件內(nèi)容,并按照程序的執(zhí)行流程逐行運(yùn)行代碼。

或者,交互模式是當(dāng)您啟動(dòng)解釋器并將其用作運(yùn)行直接鍵入的代碼的平臺(tái)時(shí)。這種模式對(duì)于學(xué)習(xí) Python 以及開發(fā)、測(cè)試和調(diào)試應(yīng)用程序非常有用。

交互式運(yùn)行 Python 代碼

交互式會(huì)話是運(yùn)行 Python 代碼的廣泛使用的工具。要啟動(dòng) Python 交互式會(huì)話或 REPL ,請(qǐng)打開命令行窗口,鍵入 python 命令,然后按 Enter 。

這些步驟將帶你進(jìn)入 Python 解釋器,它看起來(lái)像下面這樣:

macOS:

$ python
Python 3.11.5 (main, Aug 31 2023, 19:03:43) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Linux:

$ python
Python 3.11.5 (main, Sep 13 2023, 18:12:18) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Windows:

PS> python
Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

交互模式的標(biāo)準(zhǔn)主提示符由三個(gè)右尖括號(hào) >>> 組成。所以,只要你看到這些字符,你就知道你進(jìn)入了交互模式。

注意:標(biāo)準(zhǔn) REPL 也有一個(gè)二級(jí)提示符,由三個(gè)句點(diǎn)( ... )組成。在向復(fù)合語(yǔ)句(如條件語(yǔ)句、函數(shù)和類定義以及循環(huán))中添加縮進(jìn)行時(shí),將出現(xiàn)此提示。

Python 解釋器是一種使用語(yǔ)言與計(jì)算機(jī)進(jìn)行交互的方式。就像在線聊天一樣。它也被稱為 REPL,因?yàn)樗诘讓舆\(yùn)行四個(gè)步驟:

  • Reading 讀取輸入,輸入由 Python 代碼作為表達(dá)式和語(yǔ)句組成
  • Evaluating 評(píng)估 Python 代碼,這會(huì)產(chǎn)生結(jié)果或?qū)е赂弊饔?/li>
  • Printing 打印任何輸出,以便您可以檢查代碼的結(jié)果并獲得即時(shí)反饋
  • Looping返回到第一步繼續(xù)交互

Python 的這個(gè)特性是一個(gè)強(qiáng)大的工具,你將在 Python 編碼冒險(xiǎn)中需要它,特別是當(dāng)你正在學(xué)習(xí)這門語(yǔ)言或處于開發(fā)過(guò)程的早期階段時(shí)。

一旦啟動(dòng)了 REPL 會(huì)話,就可以隨心所欲地編寫和運(yùn)行 Python 代碼。唯一的缺點(diǎn)是,當(dāng)你關(guān)閉會(huì)話時(shí),你的代碼將消失。這是腳本模式和交互模式之間的另一個(gè)區(qū)別。他們堅(jiān)持不懈。

當(dāng)你以交互方式工作時(shí),Python 會(huì)立即計(jì)算并執(zhí)行每個(gè)表達(dá)式和語(yǔ)句:

>>> print("Hello, World!")
Hello, World!

>>> 2 + 5
7

>>> print("Welcome to Real Python!")
Welcome to Real Python!

交互式會(huì)話將允許您測(cè)試您執(zhí)行的每一段代碼。這就是為什么這個(gè)工具是一個(gè)很棒的開發(fā)助手和一個(gè)很好的空間來(lái)實(shí)驗(yàn)語(yǔ)言和測(cè)試想法。

要退出交互模式并跳回到系統(tǒng)外殼,您可以使用以下選項(xiàng)之一:

  • 執(zhí)行內(nèi)置的 quit() 或 exit() 函數(shù)
  • 在 Windows 上按 Ctrl + Z 和 Enter 組合鍵,或在 Unix 系統(tǒng)(如 Linux 和 macOS )上按 Ctrl + D 組合鍵

繼續(xù)并嘗試使用 Python REPL 。您將看到它是一個(gè)非常好的開發(fā)工具,您必須將它保存在您的工具箱中。

如何從 Python 代碼中運(yùn)行 Python

您還可以從交互式會(huì)話或 .py 文件運(yùn)行Python腳本和模塊。這一選項(xiàng)提供了多種可能性。在下面的部分中,您將探索一些工具和技術(shù),這些工具和技術(shù)將允許您從 Python 代碼運(yùn)行腳本和代碼。

import 語(yǔ)句的優(yōu)點(diǎn)

當(dāng)您從另一個(gè)模塊、腳本或交互式會(huì)話導(dǎo)入模塊時(shí),實(shí)際發(fā)生的是 Python 加載其內(nèi)容以供以后訪問(wèn)和使用。有趣的是, import 語(yǔ)句運(yùn)行導(dǎo)入模塊中的任何可執(zhí)行代碼。

當(dāng)模塊只包含類、函數(shù)、變量和常量定義時(shí),您可能不會(huì)意識(shí)到代碼已經(jīng)運(yùn)行。但是,當(dāng)模塊包含對(duì)函數(shù)、方法或其他生成可見結(jié)果的語(yǔ)句的調(diào)用時(shí),您將看到它的執(zhí)行。

這為您提供了另一個(gè)運(yùn)行腳本的選項(xiàng):

>>> import hello
Hello, World!

您會(huì)注意到 import 在每個(gè)會(huì)話中只運(yùn)行一次代碼。第一次導(dǎo)入模塊后,即使修改了模塊的內(nèi)容,后續(xù)的導(dǎo)入也不會(huì)執(zhí)行任何操作。這是因?yàn)?nbsp;import 操作是費(fèi)時(shí)的,Python 需要一些額外的步驟來(lái)優(yōu)化整體性能:

>>> import hello  # Do nothing
>>> import hello  # Do nothing again

這兩個(gè)導(dǎo)入沒有任何作用,因?yàn)?Python 知道 hello 模塊已經(jīng)被導(dǎo)入了。因此,Python 跳過(guò)了 import 。這種行為可能看起來(lái)很煩人,尤其是當(dāng)您正在處理模塊并試圖在交互式會(huì)話中測(cè)試更改時(shí)。這是一種有意的優(yōu)化。

使用 importlib 標(biāo)準(zhǔn)庫(kù)模塊

在 Python 標(biāo)準(zhǔn)庫(kù)中,您可以找到 importlib 模塊。這個(gè)模塊提供了 import_module() 函數(shù),它允許您以編程方式導(dǎo)入模塊。

使用 import_module() ,您可以模擬 import 操作,因此可以執(zhí)行任何模塊或腳本??纯催@個(gè)例子:

>>> import importlib
>>> importlib.import_module("hello")
Hello, World!
<module 'hello' from '/home/username/hello.py'>

import_module() 函數(shù)的作用是:導(dǎo)入一個(gè)模塊,并將其名稱添加到當(dāng)前的命名空間。它還運(yùn)行目標(biāo)模塊包含的任何可執(zhí)行代碼。這就是為什么你在屏幕上顯示 Hello, World! 。

你已經(jīng)知道,一旦你第一次導(dǎo)入了一個(gè)模塊,你就不能再用另一個(gè) import 語(yǔ)句導(dǎo)入它了。如果你想重新加載模塊并再次運(yùn)行它,那么你可以使用 reload() 函數(shù),它強(qiáng)制解釋器再次導(dǎo)入模塊:

>>> import hello
Hello World!

>>> import importlib
>>> importlib.reload(hello)
Hello World!
<module 'hello' from '/home/username/hello.py'>

這里需要注意的一點(diǎn)是, reload() 的參數(shù)必須是模塊對(duì)象的名稱,而不是字符串。因此,要成功使用 reload() ,您需要提供一個(gè)已經(jīng)導(dǎo)入的模塊。

利用內(nèi)置 exec() 功能的強(qiáng)大功能

到目前為止,您已經(jīng)了解了一些運(yùn)行 Python 腳本的方便方法。在本節(jié)中,您將學(xué)習(xí)如何使用內(nèi)置的 exec() 函數(shù)來(lái)實(shí)現(xiàn)這一點(diǎn),該函數(shù)支持 Python 代碼的動(dòng)態(tài)執(zhí)行。

exec() 函數(shù)提供了一種從代碼內(nèi)部運(yùn)行腳本的替代方法:

>>> with open("hello.py") as hello:
...     exec(hello.read())
...
Hello, World!

在本例中,使用 with 語(yǔ)句打開 hello.py 文件進(jìn)行閱讀。然后,使用 .read() 方法讀取文件的內(nèi)容。此方法返回一個(gè)字符串,您將其傳遞給 exec() 執(zhí)行。

在使用 exec() 函數(shù)時(shí)必須小心,因?yàn)樗馕吨恍┲匾陌踩L(fēng)險(xiǎn),特別是當(dāng)您使用它來(lái)運(yùn)行外部代碼時(shí)。要了解有關(guān)此函數(shù)的更多信息,請(qǐng)查看 Python 的 exec() :執(zhí)行動(dòng)態(tài)生成的代碼。

如何在 IDE 和代碼編輯器上運(yùn)行 Python 腳本

要開發(fā)大型復(fù)雜的應(yīng)用程序,您應(yīng)該使用集成開發(fā)環(huán)境(IDE)或包含程序員友好功能的高級(jí)文本編輯器。

這些程序中的大多數(shù)都有允許您從環(huán)境本身內(nèi)部運(yùn)行程序的選項(xiàng)。它們通常包含 Run 或 Build 操作,這些操作通??梢詮墓ぞ邫诨蛑鞑藛沃蝎@得。

Python 的標(biāo)準(zhǔn)發(fā)行版將 IDLE 作為默認(rèn) IDE。您可以使用此程序編寫、調(diào)試、修改和運(yùn)行模塊和腳本。其他 IDE,如PyCharm 和 Thonny,也允許您從環(huán)境內(nèi)部運(yùn)行腳本。例如,在 PyCharm 中,您可以按鍵盤上的 Ctrl + R 來(lái)快速運(yùn)行應(yīng)用的入口腳本。

Visual Studio Code 和 Sublime Text 等高級(jí)代碼編輯器也允許您運(yùn)行腳本。例如,在 Visual Studio Code 中,您可以按 Ctrl + F5 來(lái)運(yùn)行當(dāng)前活動(dòng)的文件。

若要了解如何從首選 IDE 或代碼編輯器運(yùn)行 Python 腳本,請(qǐng)查看其特定文檔或快速查看程序的 GUI。你很快就會(huì)找到答案。

如何在文件管理器中運(yùn)行 Python 腳本

通過(guò)雙擊文件管理器中的腳本圖標(biāo)來(lái)運(yùn)行腳本是運(yùn)行 Python 腳本的另一種方法。在開發(fā)階段,您可能不會(huì)經(jīng)常使用此選項(xiàng),但在將代碼發(fā)布到生產(chǎn)環(huán)境時(shí),您可能會(huì)使用它。

為了通過(guò)雙擊運(yùn)行腳本,您必須滿足一些條件,這些條件取決于您的操作系統(tǒng)。

例如,Windows將擴(kuò)展名 .py 和 .pyw 分別與程序 python.exe 和 pythonw.exe 相關(guān)聯(lián)。這允許您通過(guò)雙擊腳本圖標(biāo)來(lái)運(yùn)行腳本。

在 Unix 系統(tǒng)上,您可能可以通過(guò)在文件管理器中雙擊腳本來(lái)運(yùn)行腳本。要實(shí)現(xiàn)這一點(diǎn),您的腳本必須具有執(zhí)行權(quán)限,并且需要使用您已經(jīng)學(xué)習(xí)過(guò)的 shebang 技巧。與 Windows 一樣,當(dāng)涉及到命令行界面腳本時(shí),您可能不會(huì)在屏幕上看到任何輸出。

通過(guò)雙擊執(zhí)行腳本有幾個(gè)限制,并取決于許多因素,如操作系統(tǒng),文件管理器,執(zhí)行權(quán)限和文件關(guān)聯(lián)。不過(guò),對(duì)于生產(chǎn)就緒的腳本和程序,您可以將此替代方案視為一個(gè)可行的選擇。

總結(jié)

您已經(jīng)獲得了以多種方式在各種情況和開發(fā)環(huán)境中運(yùn)行 Python 腳本和代碼所需的知識(shí)和技能。當(dāng)您需要運(yùn)行生產(chǎn)就緒腳本時(shí),命令行將是您最好的朋友。在開發(fā)過(guò)程中,IDE 或代碼編輯器將提供正確的選項(xiàng)來(lái)運(yùn)行代碼。

在本教程中,您已經(jīng)學(xué)習(xí)了如何:

  • 在當(dāng)前操作系統(tǒng)中從命令行或終端運(yùn)行 Python 腳本
  • 使用 Python 的標(biāo)準(zhǔn)REPL以交互模式執(zhí)行代碼
  • 在開發(fā)過(guò)程中使用您喜愛的 IDE 或代碼編輯器運(yùn)行 Python 腳本
  • 從操作系統(tǒng)的文件管理器啟動(dòng)腳本和程序

這些技能對(duì)于 Python 開發(fā)人員來(lái)說(shuō)是必不可少的。它們將使您的開發(fā)過(guò)程更快,更高效,更靈活。

以上就是在多種情況/開發(fā)環(huán)境中運(yùn)行python腳本和代碼的技巧分享的詳細(xì)內(nèi)容,更多關(guān)于運(yùn)行python腳本和代碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論