一、介紹
在計算機領域,命令行可以理解為一個文本交互界面,用戶通過輸入文本命令的方式來操作計算機。而在Python中,我們可以直接在命令行中執行Python腳本,這種方式被稱為命令行腳本(Command line script)。
命令行腳本對於Python程序員來說是非常有用的,因為它可以讓我們使用Python解釋器來執行我們的代碼,而無須打開集成開發環境(IDE)或者文本編輯器。此外,命令行腳本還允許程序員將Python代碼作為可執行文件傳遞給其他用戶,其他用戶可以在自己的計算機上不安裝Python的情況下運行這些腳本。
二、寫一個簡單的Python腳本
在命令行中執行Python腳本的第一步就是要寫一個Python腳本。以下示例演示了如何編寫簡單的Python腳本:
# filename: hello.py print("Hello World!")
以上腳本可以輸出一個”Hello World!”的文本,它可以通過執行以下命令來在命令行中運行:
python3 hello.py
執行該命令後將在命令行中輸出”Hello World!”的文本
三、傳遞參數給Python腳本
在命令行中執行Python腳本最有用的功能之一就是能夠從命令行中傳遞參數給該腳本。
下面的示例演示了在命令行中傳遞參數給Python腳本:
# filename: greet.py import sys print("Hello", sys.argv[1], "!")
以上腳本可以讀取從命令行中傳遞給它的參數,並輸出一個類似”Hello [name]!”的問候語。
以下命令將在命令行中運行greet.py腳本,並為其傳入一個文本參數:
$ python3 greet.py Alice Hello Alice!
在上面的命令中,我們將字符串”Alice”作為命令行參數傳遞給greet.py腳本,並在執行該腳本時輸出了問候語”Hello Alice!”。
四、使用命令行參數解析器
對於從命令行接收輸入參數的Python腳本,一些參數解析需要大量的重複和錯誤檢查。可以使用argparse模塊來使命令行參數解析更加容易
以下示例演示了如何使用argparse模塊從命令行中接收多個參數:
# filename: argparse_demo.py import argparse if __name__ == '__main__': parser = argparse.ArgumentParser(description="This is a demo") # 創建 ArgumentParser 對象 parser.add_argument('-t', '--tag', help='input tag', required=True) # 添加位置參數或選項參數 parser.add_argument('-n', '--name', help='input name') # 添加另一個選項參數 args = parser.parse_args() # 解析命令行參數 print('參數tag的值為:', args.tag) print('參數name的值為:', args.name)
以上示例通過ArgumentParser對象來創建一個帶有兩個選項參數的Python腳本。參數”tag”是我們的腳本需要的一個必需參數;而參數”name”是一個可選參數。解析器將從命令行中讀取這些參數,並在腳本中使用它們。
以下是一個命令行示例,顯示了如何在以上示例腳本中使用選項參數:
$ python argparse_demo.py --tag hello -n tom 參數tag的值為: hello 參數name的值為: tom
在上面的命令中,我們使用了兩個參數:–tag和-n。–tag是必需的,並帶有一個文本參數”hello”。–n是可選的,帶有文本參數”tom”。當腳本執行時,它輸出這兩個參數的值。
五、執行系統命令
在Python腳本中執行系統命令時需要使用到Python的os模塊。
以下示例演示了如何使用os模塊執行ls命令:
# filename: os_demo.py import os os.system('ls')
以上腳本使用os.system()函數來執行”ls”命令。”ls”命令將所有當前目錄下的文件和文件夾列出。在執行以上腳本時,在命令行中輸入”python os_demo.py”,將在命令行中看到一個類似以下的輸出:
Desktop Documents Downloads Music Pictures Public Templates Videos
使用os模塊,我們可以使用Python從命令行中執行大多數基本的系統命令。例如,還可以使用它來執行”dir”、”cat”、”echo”等命令。
六、結論
本文講解了使用Python在命令行中執行腳本的方法。Python的argparse模塊可以幫助你解析命令行輸入,使得參數的使用變得方便簡單;同時,Python的os模塊也可以執行一些常見的系統命令。希望通過本文的介紹,讀者們對Python命令行腳本有一個初步的認識。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/156686.html