一文帶你掌握終端執(zhí)行Python代碼的6種方式
你還在用 IDE 或者 python hello.py 這種方式運(yùn)行 Python 代碼嗎?
作為一名資深 Pythonista,今天就來(lái)帶你解鎖一些你可能不知道的 Python 代碼運(yùn)行方式,尤其是在服務(wù)器環(huán)境下,這些技巧會(huì)讓你更加游刃有余!
1. 管道 (|) + 標(biāo)準(zhǔn)輸入:像接水管一樣優(yōu)雅
echo "print('hi')" | python還記得 Linux 系統(tǒng)中常用的管道符 | 嗎?它可以將前一個(gè)命令的輸出作為后一個(gè)命令的輸入。在這里,我們使用 echo 命令將字符串 print('hi') 輸出到標(biāo)準(zhǔn)輸出流,然后通過(guò)管道符 | 傳遞給 Python 解釋器。Python 解釋器會(huì)將接收到的內(nèi)容當(dāng)做 Python 代碼執(zhí)行,最終打印出 "hi"。
這種方式適用于簡(jiǎn)單的代碼片段,以及需要將其他程序的輸出作為 Python 代碼輸入的情況。
2. -c 參數(shù) + 字符串:一行代碼,快速搞定
python -c "print('hi')"-c 參數(shù)允許你直接在命令行中指定要執(zhí)行的 Python 代碼,而無(wú)需將其保存到 .py 文件中。
例如,你可以使用以下命令計(jì)算 1 到 100 的和:
python -c "print(sum(range(1, 101)))"
這種方式適用于簡(jiǎn)單的代碼片段,以及你不想創(chuàng)建 Python 文件的情況。
3. 文件路徑:最經(jīng)典的方式
python spam.py
這是最常見(jiàn)的 Python 代碼運(yùn)行方式,你只需要指定要運(yùn)行的 Python 文件路徑即可。Python 解釋器會(huì)讀取該文件并執(zhí)行其中的代碼。
4. -m 參數(shù) + 包:優(yōu)雅地運(yùn)行包
python -m spam
當(dāng)你使用 -m 參數(shù)運(yùn)行一個(gè)包時(shí),Python 會(huì)自動(dòng)查找包中的 __main__.py 文件并執(zhí)行。 __main__.py 文件通常作為包的入口點(diǎn),其中包含了包的初始化代碼以及要執(zhí)行的主要邏輯。
例如,假設(shè)你有一個(gè)名為 my_package 的包,目錄結(jié)構(gòu)如下:
my_package/
__init__.py
main.py
在 __main__.py 文件中,你可以編寫(xiě)包的入口代碼:
# __main__.py
def main():
print("Hello from my_package!")
if __name__ == "__main__":
main()然后,你可以使用以下命令運(yùn)行該包:
python -m my_package
這將會(huì)執(zhí)行 __main__.py 文件中的 main() 函數(shù),并輸出 "Hello from my_package!"。
5. 目錄:像執(zhí)行文件一樣執(zhí)行目錄
如果你有一個(gè)目錄包含 __main__.py 文件,那么你可以直接使用 python 目錄名 的方式運(yùn)行該目錄。Python 會(huì)自動(dòng)查找并執(zhí)行目錄下的 __main__.py 文件。
這種方式在開(kāi)發(fā)大型項(xiàng)目時(shí)非常有用,你可以將項(xiàng)目的根目錄作為一個(gè)包來(lái)運(yùn)行,而無(wú)需指定具體的 Python 文件。
6. 壓縮文件:將代碼打包運(yùn)行
你還可以將 Python 代碼打包成 zip 文件,并在壓縮文件中包含一個(gè) __main__.py 文件,使用 python 壓縮文件名 即可運(yùn)行。
Python 會(huì)自動(dòng)解壓并執(zhí)行 __main__.py 文件。
例如,假設(shè)你將 my_package 打包成 my_package.zip 文件,你可以使用以下命令運(yùn)行:
python my_package.zip
Python 會(huì)自動(dòng)解壓并執(zhí)行 __main__.py 文件。
這種方式通常用于分發(fā) Python 項(xiàng)目,因?yàn)樗梢詫⑺许?xiàng)目文件打包在一起,方便用戶(hù)使用。
總結(jié):
Python 提供了多種代碼運(yùn)行方式,每種方式都有其適用場(chǎng)景,掌握這些技巧可以讓你在不同的開(kāi)發(fā)環(huán)境中更加得心應(yīng)手!
到此這篇關(guān)于一文帶你掌握終端執(zhí)行Python代碼的6種方式的文章就介紹到這了,更多相關(guān)終端執(zhí)行Python代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實(shí)現(xiàn)將list轉(zhuǎn)成字符串,中間用空格隔開(kāi)
今天小編就為大家分享一篇python 實(shí)現(xiàn)將list轉(zhuǎn)成字符串,中間用空格隔開(kāi),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
使用Python Tkinter創(chuàng)建一個(gè)動(dòng)態(tài)祝福彈窗的詳細(xì)教程
本文手把手教你用Python的Tkinter庫(kù)創(chuàng)建一個(gè)浪漫的彈窗程序,包含淡入淡出動(dòng)畫(huà)、多線(xiàn)程管理、隊(duì)列控制等高級(jí)特性,通過(guò)完整的代碼解析和配置指南,帶你掌握GUI編程的核心技巧,需要的朋友可以參考下2025-11-11
Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究
這篇文章主要為大家介紹了Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
淺析form標(biāo)簽中的GET和POST提交方式區(qū)別
在HTML中,form表單的作用是收集標(biāo)簽中的內(nèi)容<form>...</form> 中間可以由訪(fǎng)問(wèn)者添加類(lèi)似于文本,選擇,或者一些控制模塊等等.然后這些內(nèi)容將會(huì)被送到服務(wù)端2021-09-09
Python數(shù)據(jù)處理的三個(gè)實(shí)用技巧分享
數(shù)據(jù)處理無(wú)所不在,掌握常用技巧,事半功倍。這篇文章將使用Pandas開(kāi)展數(shù)據(jù)處理分析,總結(jié)其中常用、好用的數(shù)據(jù)分析技巧,感興趣的可以學(xué)習(xí)一下2022-04-04

