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

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

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

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

在本教程中,您將學習如何:

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

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

什么是腳本和模塊

在計算機中,腳本這個術語指的是一個文本文件,它包含了一個邏輯順序,你可以運行它來完成一個特定的任務。這些命令通常用腳本語言表示,腳本語言是一種允許您操作、自定義和自動化任務的編程語言。

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

Python 是一種解釋性語言。因此,Python 程序通常被稱為腳本。然而,這個術語并不完全準確,因為 Python 程序可能比簡單的順序腳本復雜得多。

通常,包含可執(zhí)行 Python 代碼的文件稱為腳本(在更復雜的應用程序中稱為入口點腳本),這是頂級程序的常用術語。另一方面,包含 Python 代碼的文件被設計為從另一個 Python 文件導入和使用,稱為模塊。

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

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

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

如何在命令行中運行 Python 腳本

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

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

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

# hello.py

print("Hello, World!")

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

有了這個小程序,您就可以學習不同的運行方法了。您將從命令行運行程序開始,這可以說是運行腳本最常用的方法。

使用 python 命令

要使用 python 命令運行 Python 腳本,您需要打開一個命令行窗口,并鍵入單詞 python ,然后鍵入目標腳本的路徑:

Windows:

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

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

Linux+macOS:

$ python ./hello.py
Hello, World!

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

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

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

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

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

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

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

$ python hello.py > output.txt

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

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

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

$ python hello.py >> output.txt

現(xiàn)在,shell 應用程序?qū)旬斍拜敵龈郊拥?nbsp;output.txt 的末尾。您將得到一個包含短語 "Hello, World!" 兩次的文件。

直接使用腳本名稱

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

PS> .\hello.py

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

這種在 Windows 上運行 Python 腳本的方式可能很煩人,因為代碼在一個新的終端窗口中運行,該窗口在執(zhí)行結束后自動關閉。在大多數(shù)情況下,您將無法檢查程序的輸出。

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

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

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

$ chmod +x hello.py

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

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

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

#!/usr/bin/env python3

print("Hello, World!")

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

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

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

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

第一種方法的可移植性較差,因為并非所有 Unix 系統(tǒng)都將 Python 解釋器放在同一個目錄中。相比之下,第二種方法更安全,更便攜。它調(diào)用 env 命令來找出解釋器所在的位置。

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

$ ./hello.py
Hello, World!

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

使用 -m 選項運行模塊

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

$ python -m hello
Hello, World!

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

注意:當您需要使用標準庫模塊的命令行界面(CLI)時,通常使用 -m 選項,例如 pip 、 venv 、 http.server 和 zipfile 。

如果目標模塊不在 sys.path 中,那么你會得到一個錯誤:

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

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

如何以交互方式運行 Python 代碼

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

在接下來的部分中,你將學習 Python 解釋器的基礎知識以及如何在其中運行代碼。這些知識對你來說非常有價值,特別是在那些需要快速測試一小段 Python 代碼的情況下。

了解Python解釋器

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

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

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

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

Python解釋器可以以兩種不同的模式運行代碼:

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

或者,交互模式是當您啟動解釋器并將其用作運行直接鍵入的代碼的平臺時。這種模式對于學習 Python 以及開發(fā)、測試和調(diào)試應用程序非常有用。

交互式運行 Python 代碼

交互式會話是運行 Python 代碼的廣泛使用的工具。要啟動 Python 交互式會話或 REPL ,請打開命令行窗口,鍵入 python 命令,然后按 Enter 。

這些步驟將帶你進入 Python 解釋器,它看起來像下面這樣:

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.
>>>

交互模式的標準主提示符由三個右尖括號 >>> 組成。所以,只要你看到這些字符,你就知道你進入了交互模式。

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

Python 解釋器是一種使用語言與計算機進行交互的方式。就像在線聊天一樣。它也被稱為 REPL,因為它在底層運行四個步驟:

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

Python 的這個特性是一個強大的工具,你將在 Python 編碼冒險中需要它,特別是當你正在學習這門語言或處于開發(fā)過程的早期階段時。

一旦啟動了 REPL 會話,就可以隨心所欲地編寫和運行 Python 代碼。唯一的缺點是,當你關閉會話時,你的代碼將消失。這是腳本模式和交互模式之間的另一個區(qū)別。他們堅持不懈。

當你以交互方式工作時,Python 會立即計算并執(zhí)行每個表達式和語句:

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

>>> 2 + 5
7

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

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

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

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

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

如何從 Python 代碼中運行 Python

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

import 語句的優(yōu)點

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

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

這為您提供了另一個運行腳本的選項:

>>> import hello
Hello, World!

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

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

這兩個導入沒有任何作用,因為 Python 知道 hello 模塊已經(jīng)被導入了。因此,Python 跳過了 import 。這種行為可能看起來很煩人,尤其是當您正在處理模塊并試圖在交互式會話中測試更改時。這是一種有意的優(yōu)化。

使用 importlib 標準庫模塊

在 Python 標準庫中,您可以找到 importlib 模塊。這個模塊提供了 import_module() 函數(shù),它允許您以編程方式導入模塊。

使用 import_module() ,您可以模擬 import 操作,因此可以執(zhí)行任何模塊或腳本。看看這個例子:

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

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

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

>>> import hello
Hello World!

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

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

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

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

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

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

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

在使用 exec() 函數(shù)時必須小心,因為它意味著一些重要的安全風險,特別是當您使用它來運行外部代碼時。要了解有關此函數(shù)的更多信息,請查看 Python 的 exec() :執(zhí)行動態(tài)生成的代碼。

如何在 IDE 和代碼編輯器上運行 Python 腳本

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

這些程序中的大多數(shù)都有允許您從環(huán)境本身內(nèi)部運行程序的選項。它們通常包含 Run 或 Build 操作,這些操作通常可以從工具欄或主菜單中獲得。

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

Visual Studio Code 和 Sublime Text 等高級代碼編輯器也允許您運行腳本。例如,在 Visual Studio Code 中,您可以按 Ctrl + F5 來運行當前活動的文件。

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

如何在文件管理器中運行 Python 腳本

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

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

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

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

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

總結

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

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

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

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

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

相關文章

最新評論