最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python打造自己的專屬命令行工具

 更新時間:2025年05月07日 08:32:50   作者:dudly  
本文主要介紹了Python打造自己的專屬命令行工具,使得在類Unix系統(tǒng)和Windows系統(tǒng)中,可以通過直接輸入自定義命令來運行腳本,具有一定的參考價值,感興趣的可以了解一下

在日常的開發(fā)和使用過程中,我們常常會編寫一些實用的Python腳本,比如用來批量處理文件、獲取系統(tǒng)信息等。然而,每次都要輸入python script_name.py來運行腳本,時間一長難免覺得繁瑣。要是能像使用系統(tǒng)自帶的命令(如ls、cd)一樣,直接在命令行輸入自定義的命令就能執(zhí)行腳本,那該多方便!實際上,通過幾個簡單的步驟,我們就能將Python腳本變成真正的命令行命令,大幅提升使用效率。

就像類 Unix 系統(tǒng)中常用的wc -l命令用于統(tǒng)計文件行數(shù)一樣,接下來,我將通過創(chuàng)建一個功能與之等同的自定義命令count_lines ,分別在類 Unix 系統(tǒng)(如 Linux、macOS)和 Windows 系統(tǒng)中展開講解,詳細說明將 Python 腳本變?yōu)槊钚忻畹膶崿F(xiàn)過程。

案例腳本準(zhǔn)備

我們先編寫一個簡單的Python腳本count_lines.py,它的功能是讀取指定文本文件,并輸出文件的行數(shù)。代碼如下:

import sys

if len(sys.argv) < 2:
    print("請輸入要統(tǒng)計行數(shù)的文件路徑")
    sys.exit(1)

file_path = sys.argv[1]
try:
    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()
        print(f"文件 {file_path} 的行數(shù)為: {len(lines)}")
except FileNotFoundError:
    print(f"文件 {file_path} 不存在")

目前,我們可以通過python count_lines.py test.txt(假設(shè)test.txt是要統(tǒng)計行數(shù)的文件)來運行這個腳本。

$ python count_lines.py test.txt
文件 test.py 的行數(shù)為: 177

但是這明顯不夠便捷。接下來,我們就一步步把它變成真正的命令行命令。

一. 類Unix系統(tǒng)實現(xiàn)步驟

步驟一:賦予腳本可執(zhí)行權(quán)限

在類Unix系統(tǒng)(如Linux、macOS)中,文件默認是沒有可執(zhí)行權(quán)限的。我們需要使用chmod命令為腳本賦予可執(zhí)行權(quán)限,具體操作如下:

$ chmod +x count_lines.py

執(zhí)行完上述命令后,count_lines.py就具備了可執(zhí)行屬性。此時,我們可以嘗試運行腳本,但需要注意,由于當(dāng)前目錄默認不在系統(tǒng)的PATH環(huán)境變量中,我們需要使用相對路徑來運行,即:

$./count_lines.py test.txt

不過,直接運行可能會遇到錯誤,因為系統(tǒng)此時還不知道該用Python解釋器來執(zhí)行這個腳本,它會嘗試以Shell腳本的方式去執(zhí)行,從而導(dǎo)致語法錯誤。別擔(dān)心,我們接著進行下一步操作。

步驟二:添加解釋器shebang

Shebang(也稱為Hashbang)是一個特殊的符號,它的作用是告訴系統(tǒng)應(yīng)該使用哪個解釋器來執(zhí)行腳本。對于Python腳本,我們通常添加#!/usr/bin/env python這一行作為腳本的第一行。使用env的好處在于,它可以根據(jù)系統(tǒng)的PATH環(huán)境變量找到正確的Python解釋器,避免了因Python安裝路徑不同而導(dǎo)致的問題。

修改后的count_lines.py腳本如下:

#!/usr/bin/env python
import sys

if len(sys.argv) < 2:
    print("請輸入要統(tǒng)計行數(shù)的文件路徑")
    sys.exit(1)

file_path = sys.argv[1]
try:
    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()
        print(f"文件 {file_path} 的行數(shù)為: {len(lines)}")
except FileNotFoundError:
    print(f"文件 {file_path} 不存在")

添加完Shebang后,我們再次嘗試運行腳本:

$./count_lines.py test.txt

此時,腳本就能正常運行了。而且,我們還可以去掉腳本的.py擴展名,讓它看起來更像一個系統(tǒng)命令:

$ mv count_lines.py count_lines
$./count_lines test.txt

步驟三:將命令添加到PATH環(huán)境變量

雖然現(xiàn)在我們可以通過./count_lines來運行腳本,但還是不夠方便,因為必須在腳本所在的目錄下執(zhí)行。為了能在任意目錄下都能運行這個命令,我們需要將腳本所在的目錄添加到系統(tǒng)的PATH環(huán)境變量中。

不建議直接將腳本復(fù)制到系統(tǒng)級的目錄(如/usr/bin、/usr/local/bin),因為這樣可能會引發(fā)命名沖突,甚至影響系統(tǒng)穩(wěn)定性。比較好的做法是在用戶主目錄下創(chuàng)建一個bin目錄,然后將腳本復(fù)制到該目錄,并將bin目錄添加到PATH中。

創(chuàng)建bin目錄:

$ mkdir -p ~/bin
  • 復(fù)制腳本到bin目錄:
$ cp count_lines ~/bin
  • 臨時添加bin目錄到PATH(僅對當(dāng)前會話有效):
$ export PATH=$PATH:$HOME/bin

如果希望設(shè)置永久生效,需要將上述命令添加到用戶主目錄下的.profile.bash_profile文件中。以.bash_profile為例,使用文本編輯器打開該文件:

$ vi ~/.bash_profile

在文件末尾添加以下內(nèi)容:

export PATH=$PATH:$HOME/bin

保存并關(guān)閉文件后,執(zhí)行source ~/.bash_profile使配置立即生效。

完成上述步驟后,我們就可以在任意目錄下,像使用系統(tǒng)命令一樣,直接輸入count_lines test.txt來統(tǒng)計文件行數(shù)了。

二. Windows系統(tǒng)實現(xiàn)步驟

在Windows系統(tǒng)中,將Python腳本變成命令行命令的方式與類Unix系統(tǒng)有所不同,主要通過以下幾個步驟來實現(xiàn):

步驟一:創(chuàng)建批處理文件

批處理文件(.bat)是Windows系統(tǒng)中用于自動執(zhí)行一系列命令的文件。我們可以創(chuàng)建一個批處理文件,在其中指定使用Python解釋器來運行我們的腳本。在腳本count_lines.py所在的目錄下,新建一個文本文件,命名為count_lines.bat,使用文本編輯器打開,并添加以下內(nèi)容:

@echo off
python count_lines.py %*

@echo off用于關(guān)閉批處理文件執(zhí)行過程中的命令回顯,讓界面更加簡潔。python count_lines.py %*表示使用Python解釋器運行count_lines.py腳本,并將命令行中輸入的參數(shù)傳遞給腳本。

步驟二:配置環(huán)境變量

為了能在任意目錄下運行count_lines.bat,我們需要將其所在目錄添加到系統(tǒng)的環(huán)境變量中。具體操作如下:

打開“系統(tǒng)屬性”:右鍵點擊“此電腦”,選擇“屬性”,在彈出的窗口中點擊“高級系統(tǒng)設(shè)置”。

進入“環(huán)境變量”設(shè)置:在“系統(tǒng)屬性”窗口的“高級”選項卡中,點擊“環(huán)境變量”按鈕。

請?zhí)砑訄D片描述

編輯Path環(huán)境變量:在“系統(tǒng)變量”列表中找到Path變量,點擊“編輯”。

添加路徑:點擊“新建”,輸入count_lines.bat所在的目錄路徑(例如C:\scripts,根據(jù)實際情況填寫),然后點擊“確定”保存設(shè)置。

步驟三:測試命令

完成環(huán)境變量配置后,打開命令提示符(CMD)或PowerShell,在任意目錄下輸入count_lines.bat test.txt,即可運行腳本統(tǒng)計文件行數(shù)。如果希望直接輸入count_lines test.txt就能運行,可以將count_lines.bat改名為count_lines(去掉.bat擴展名),不過需要注意,這樣可能會與系統(tǒng)中其他同名文件或命令產(chǎn)生沖突,操作時需謹慎。

PS E:\> count_lines test.txt
文件 test.py 的行數(shù)為: 177

通過以上步驟,無論是在類Unix系統(tǒng)還是Windows系統(tǒng)中,我們都成功將Python腳本變成了便捷的命令行命令。當(dāng)然,Python在命令行工具開發(fā)方面的潛力遠不止于此。利用click、argparse等強大的庫,我們還能開發(fā)出功能更豐富、交互更友好的命令行應(yīng)用。

到此這篇關(guān)于Python打造自己的專屬命令行工具的文章就介紹到這了,更多相關(guān)Python 命令行工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spectral?clustering譜聚類算法的實現(xiàn)代碼

    Spectral?clustering譜聚類算法的實現(xiàn)代碼

    譜聚類是從圖論中演化出來的算法,它的主要思想是把所有的數(shù)據(jù)看做空間中的點,這些點之間可以用邊連接起來,今天通過本文給大家介紹Spectral?clustering譜聚類算法的實現(xiàn),感興趣的朋友一起看看吧
    2022-04-04
  • Python制作Windows憑據(jù)添加工具

    Python制作Windows憑據(jù)添加工具

    這篇文章主要為大家詳細介紹了如何使用Python制作Windows憑據(jù)添加工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例

    windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例

    這篇文章主要介紹了windows系統(tǒng)中python使用rar命令壓縮多個文件夾示例,需要的朋友可以參考下
    2014-05-05
  • python解壓TAR文件至指定文件夾的實例

    python解壓TAR文件至指定文件夾的實例

    今天小編就為大家分享一篇python解壓TAR文件至指定文件夾的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 基于TensorFlow常量、序列以及隨機值生成實例

    基于TensorFlow常量、序列以及隨機值生成實例

    今天小編就為大家分享一篇基于TensorFlow常量、序列以及隨機值生成實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pycharm 快速解決python代碼沖突的問題

    pycharm 快速解決python代碼沖突的問題

    這篇文章主要介紹了pycharm 快速解決python代碼沖突的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理介紹

    Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理介紹

    這篇文章主要介紹了Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解

    python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解

    探尋python的數(shù)據(jù)類型是否可變,也可以更好的理解python對內(nèi)存的使用情況,下面這篇文章主要給大家介紹了關(guān)于python中不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • Python用Pillow(PIL)進行簡單的圖像操作方法

    Python用Pillow(PIL)進行簡單的圖像操作方法

    下面小編就為大家?guī)硪黄狿ython用Pillow(PIL)進行簡單的圖像操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • python 將Excel轉(zhuǎn)Word的示例

    python 將Excel轉(zhuǎn)Word的示例

    這篇文章主要介紹了python 將Excel轉(zhuǎn)Word的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03

最新評論

班戈县| 普陀区| 句容市| 北京市| 临高县| 郸城县| 新干县| 涟水县| 樟树市| 句容市| 盘锦市| 甘孜| 岑巩县| 嘉鱼县| 乾安县| 皮山县| 永德县| 商水县| 林甸县| 凤翔县| 枝江市| 正阳县| 原平市| 长宁县| 庄河市| 泸定县| 垣曲县| 邵东县| 镇安县| 高安市| 延川县| 额济纳旗| 祁阳县| 疏附县| 高淳县| 麻城市| 错那县| 象山县| 连州市| 青海省| 巨鹿县|