真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

本篇內(nèi)容主要講解“無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些”吧!

目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運(yùn)營、企業(yè)網(wǎng)站設(shè)計、晉中網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1. Python CLI “-m”參數(shù)

我們首先從 Python CLI(命令行界面)開始談起。雖然我們不必編寫代碼來使用稍后介紹的功能,但是為了讓 Python 知道我們要執(zhí)行的內(nèi)容,我們需要使用 Python 命令行來進(jìn)行操作。

只要我們的電腦上安裝了 Python 環(huán)境,我們就可以在 Python 命令行界面輸入python --help顯示所有支持的參數(shù)。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

由于命令輸出的內(nèi)容太長,上圖僅顯示了部分內(nèi)容。這里最想強(qiáng)調(diào)的是-m mod參數(shù),它會將 Python 模塊以腳本的形式運(yùn)行。因此,如果該模塊的實(shí)現(xiàn)支持命令行操作,我們就可以在命令行直接使用它。接下來就讓我們體驗(yàn)一下:)

2. 服務(wù)端口測試

有時候,我們想測試 ip 端口的出站網(wǎng)絡(luò)流量,通常 telnet 命令是一個不錯的選擇。在 Windows 平臺上默認(rèn)沒有安裝 telnet 軟件,使用前需要手動安裝。如果只是進(jìn)行簡單的測試,未來使用場景也不多,安裝它可能是一種資源浪費(fèi)。

但是,如果安裝了 Python,那就不必下載安裝 telnet,因?yàn)?Python 內(nèi)置了 telnet 對應(yīng)的模塊。我們可以對 Google 搜索網(wǎng)站的 443 端口進(jìn)行測試。

python -m telnetlib -d 142.250.70.174 443

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

如上圖所示,網(wǎng)絡(luò)流量顯示正常,我們甚至收到了來自 Google 空字符的響應(yīng)。如果我們嘗試訪問 ip 的隨機(jī)一個端口,則會拋出錯誤,如下圖所示。

python -m telnetlib -d 142.250.70.174 999

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

3. 本地啟動 web 服務(wù)

很多 Python 使用者不知道這一點(diǎn),當(dāng)?shù)谝淮温犝f后會感到驚訝。是的,我們可以使用 Python 啟動 web 服務(wù),而無需編寫任何代碼,只需按如下方式在命令行執(zhí)行如下命令。

python -m http.server

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

運(yùn)行后,顯示該服務(wù)監(jiān)聽了本地的 8000 端口,然后,我們就可以嘗試從瀏覽器進(jìn)行訪問 http://localhost:8000/。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

該 web 服務(wù)會以根目錄的形式展示在命令啟動路徑下的本地文件系統(tǒng),換句話說,我們無法訪問它的父級目錄。

你可能會問,這個功能的使用場景是什么。舉一個例子,如果你想跟你的好伙伴們分享你電腦某個目錄下的許多文本/PDF/圖像文件/子目錄文件等,那么使用這個方法就可以非常輕松地進(jìn)行共享了。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

如果你想知道更多關(guān)于這個話題的內(nèi)容,可以參考3 Lines of Python Code to Write A Web Server這篇文章。如果你按照上面的文章實(shí)現(xiàn)了一個“低代碼”的解決方案,那么就可以向它添加更多的自定義功能了。

4. 驗(yàn)證及格式化 JSON 字符串

如果你有一個非常長且未經(jīng)格式化的 JSON 字符串,那么閱讀起來會非常困難。通常,我會使用一些帶有 JSON 插件的文本編輯器,比如 Sublime 或者 VS Code,來格式化 JSON 字符串。但是,如果手頭沒有這些工具,Python 可以臨時一用。比如下面會以這個簡短的 JSON 字符串進(jìn)行展示。

echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}'

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

可以看到,當(dāng)前操作系統(tǒng)的命令行工具只能按照原字符串的原始格式進(jìn)行展示。但是,如果借助 Python 的 json.tool工具,JSON 字符串就會被很好的格式化。

echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}' | python -m json.tool

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

Oops!JSON 字符串無效,并且 json.tool 幫助我們定位了問題。我們在名稱對象后面漏掉了一個逗號。所以添加逗號以使該 JSON 合法有效。

echo '{"name": {"first_name":"Chris", "last_name":"Tao"}, "age":33}' | python -m json.tool

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

現(xiàn)在,JSON 字符串具有了完美縮進(jìn)的格式化輸出!更加方便閱讀。

5. 創(chuàng)建文本編輯器

你沒看錯,我們可以使用 Python 來”創(chuàng)建”一個文本編輯器。當(dāng)然,它的功能非常有限,但是如果當(dāng)前沒有更好的選擇,使用它會方便很多。另外,功能上肯定無法與 Vim 和 Nanos 相比,但是它完全是基于 UI 編輯器而不是命令行文本形式。這個編輯器由基于 Tkinter 實(shí)現(xiàn)的idlelib 模塊創(chuàng)建,所以它是可以跨平臺運(yùn)行的。

假設(shè)我們要編寫一個簡單的 Python 程序來顯示當(dāng)前的時間,我想快速編寫代碼而不想下載和安裝龐大的代碼編輯工具?,F(xiàn)在讓我們運(yùn)行下面這個命令。

mkdir get_time_apppython -m idlelib get_time_app/print_time.py

如果文件目錄不存在,idlelib將無法創(chuàng)建,因此如果必要,我們需要創(chuàng)建一個。我們運(yùn)行完這個命令之后,print_time.py 只有執(zhí)行保存的情況下才會創(chuàng)建到本地?,F(xiàn)在應(yīng)該會彈出編輯器,我們可以在里面寫一些代碼, 可以看到代碼是支持語法高亮的。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

現(xiàn)在我們使用ctrl+s快捷鍵對編輯好的代碼進(jìn)行保存,并關(guān)閉編輯窗口。接下來使用命令行查看一下編輯好的代碼文件進(jìn)行驗(yàn)證,沒有任何問題。

cat get_time_app/print_time.py

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

6. 創(chuàng)建可執(zhí)行應(yīng)用程序

如果我們想要創(chuàng)建一個簡單的應(yīng)用,比如前面寫的獲取當(dāng)前時間的應(yīng)用程序,我們不必再需要像 PyInstaller 這樣的第三方工具包,Python 內(nèi)置的 Zipapp 就可以做到。假設(shè)我們要打包成一個"Get Time"的應(yīng)用,我們可以在命令行運(yùn)行下面的命令。

python -m zipapp get_time_app -m "print_time:main"

在該命令中,我們只需要給 zipapp設(shè)置get_time_app名稱,指定 Python 程序的入口文件及其程序入口函數(shù)即可。以.pyz為擴(kuò)展名的文件就是我們創(chuàng)建的應(yīng)用程序,至此我們就可以將項(xiàng)目作為單個文件而不是文件夾進(jìn)行分發(fā)。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

該程序的啟動方式也很簡單,直接使用 Python 進(jìn)行調(diào)用即可。

python get_time_app.pyz

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

7. 編碼和解碼字符串或文件

通過 Python CLI,我們可以加密字符串或文件。我們以有趣的 ROT13 加密算法為例進(jìn)行展示。ROT13 是一種偏移 13 位的凱撒密碼,它的加密原理如下圖所示。

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

我們可以使用 encodings.rot_13 來加密一個字符串,命令如下。

echo "I am Chris" | python -m encodings.rot_13

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

切記,不要將其用于任何真正的加密內(nèi)容。因?yàn)橛⑽挠?26 個字母,所以再次運(yùn)行這個算法我們可以很容易地破譯這個加密字符串:)

echo 'V nz Puevf' | python -m encodings.rot_13

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

現(xiàn)在讓我們嘗試一個更常見的場景——base64 編碼。我們可以對字符串進(jìn)行 base64 編碼,如下所示。

echo "I am Chris" | python -m base64

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

接下來,我們也可以使用-d參數(shù)對加密字符串進(jìn)行解碼。

echo "SSBhbSBDaHJpcwo=" | python -m base64 -d

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

base64 也經(jīng)常用在對圖像文件的編碼和解碼上。我們也可以對文件進(jìn)行如下編碼。

python -m base64 get_time_app/print_time.py

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

非常有趣的是,解碼后的 Python 腳本可以即時執(zhí)行,不會報錯。。

echo "ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKCgpkZWYgbWFpbigpOgogICAgY3VycmVudF90aW1lID0gZGF0ZXRpbWUubm93KCkKICAgIHByaW50KGYnQ3VycmVudCB0aW1lIGlzIHtjdXJyZW50X3RpbWV9LicpCgoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQo=" | python -m base64 -d | python

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

8. 獲取系統(tǒng)元數(shù)據(jù)

如果我們想獲取當(dāng)前的系統(tǒng)信息,Python 提供了一種非常簡便的方法。我們只需要運(yùn)行下面的命令即可。

python -m sysconfig

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

可以看到,這個命令執(zhí)行后會顯示所有的系統(tǒng)配置信息,比如 Python 環(huán)境路徑和環(huán)境變量等。上面的截圖僅僅展示了一部分內(nèi)容,實(shí)際顯示的內(nèi)容會非常豐富。如果我們只想展示 Python 環(huán)境路徑和當(dāng)前工作路徑,我們可以執(zhí)行下面的命令。

python -m site

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

9. 文件壓縮

我們可以使用 Python 來壓縮文件,而無需下載 tar/zip/gzip 等工具。舉個例子,如果我們想壓縮我們剛剛在第 4 節(jié)中編寫的應(yīng)用程序,我們可以運(yùn)行以下命令將文件夾壓縮到 zip 文件中。在命令中,選項(xiàng) -c 代表的是“create”即創(chuàng)建的含義。

python -m zipfile -c get_time_app.zip get_time_app

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

當(dāng)然,我們也可以對壓縮文件進(jìn)行解壓。緊接這上面的操作,我們把文件夾解壓出來放到一個新目錄中,這樣就不會和原來的目錄沖突了。在下面的命令中,選項(xiàng) -e 代表“extract”即解壓的含義。

python -m zipfile -e get_time_app.zip get_time_app_extracted

如果不放心,我們可以檢驗(yàn)一下。

ls get_time_app_extractedcat get_time_app_extracted/get_time_app/print_time.py

無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些

我們剛剛以 zip 文件為例進(jìn)行了展示,Python 除了支持 zip 格式的解壓縮以外,還支持 tar 和 gzip 的解壓縮。

到此,相信大家對“無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


當(dāng)前文章:無需編寫代碼即可使用Python內(nèi)置庫的方法有哪些
鏈接地址:http://weahome.cn/article/ggcdee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部