目錄[隱藏][顯示]
本講座將向您介紹一些高級 Python 概念,例如使用目錄和 Django。
Python 中的目錄
在 Python 3 模塊索引中,您可以看到我們有一個名為 pathlib
它提供面向對象的文件系統路徑。 它提供了我們可以用來創建對像以處理目錄和文件的類。
如果你打開它,你可以看到這個模塊是如何工作的。
您可以像這樣導入模塊:
from pathlib import Path
Path
是這裡的類。 現在我們需要創建一個路徑對象來引用我們計算機上的文件或目錄。 有兩種方法可以做到這一點。 我們可以使用絕對路徑或相對路徑。 絕對路徑是指您必須定義從硬盤根目錄開始的路徑,而相對路徑是指從當前目錄開始的路徑。
Windows 和 Mac 中的絕對路徑就像 c:\program files\windows\
和 /usr/local/bin
。
在定義了模塊和類之後,我們需要創建一個路徑對象。
Path()
如果您不在此處傳遞參數,這將引用當前目錄。 或者,我們可以傳遞一個字符串,我們可以在其中添加文件或目錄。 讓我們說 ecommerce
目錄。
Path("eCommerce")
現在,這將返回一個路徑對象。 讓我們將它存儲在路徑中
path = Path("eCommerce")
首先,這個路徑對像有一些有趣的方法。
例如,我們可以使用 exist
檢查路徑是否存在的方法。 這將返回一個布爾值,所以讓我們在終端上打印它.
如果目錄“eCommerce
”不存在,我們會得到一個假的。 在這種情況下,我們可以使用 mkdir
製作目錄的方法。 讓我們創建一個目錄“email
”通過這種方法。
from pathlib import Path
path = Path("email")
path.mkdir()
這只返回目錄 email
將在您的項目面板中創建。 我們也可以通過刪除這個目錄 rmdir
方法,這是“刪除目錄”的縮寫。
編寫一個簡潔的程序來自動化一些事情是非常有用的。 例如,您可以遍歷目錄中的所有電子表格,打開它們並進行處理。 我來給你展示。
為此,切換到默認目錄並使用 glob
方法。 該方法可以搜索當前路徑下的文件和目錄。 我們需要傳遞一個定義搜索模式的字符串。 我們可以鍵入一個星號,表示所有內容、所有文件和所有目錄。 可選地,可以添加擴展。 你可以輸入 ("*.*")
獲取當前目錄下的所有文件。 我們還可以像這樣搜索所有的 excel 文件:
from pathlib import Path
path = Path()
print(path.glob("*.xls"))
讓我們以類似的方式搜索所有 .py 文件。
運行程序會得到一個生成器對象。 這些是高級的 Python 概念,但你需要知道 我們可以迭代 或循環遍歷這些生成器對象。 讓我們使用 for 循環迭代它,而不是打印這個生成器對象。
from pathlib import Path
path = Path()
for file in path.glob("*.py")):
print(file)
讓我們運行這個程序:
它將列出當前目錄中的所有 Python 文件。 類似地,運行當前路徑中僅帶星號的程序將列出當前目錄中的所有文件。
PyPi 和 Pip
儘管 Python 的標準庫很全面並且有幾個用於常見任務的模塊,但它無論如何都不完整。 這就是為什麼我們有一個目錄叫做 蟒蛇包 索引或 PyPI。 在這個目錄中,您可以找到數百個包來做一些很棒的事情。 這些是像你我這樣的人作為我們項目的一部分構建的包,然後他們將它們發佈為這個目錄的一部分供其他人使用。
這就是驚人的好處 Python社區,因為有大量的python開發者 在那裡,他們已經開發了幾個包供我們在我們的程序中重用。
假設您想在程序中發送文本消息。 您不必從頭開始構建此功能,您可以訪問 pypi.org 並蒐索 SMS。
如您所見,數百個項目或包為您提供了此功能。 並非每個包或項目都是完整的或沒有錯誤的。 其中一些仍在開發中,或者它們可能存在錯誤,但如果您四處尋找任何功能,您可以想像有一個好的、可靠的、文檔齊全的包適合您。
要從 pypi.org 安裝包,您必須在終端窗口中鍵入命令。 pip 是 Python 安裝自帶的工具,我們用它來安裝或卸載在 pypi.org 上註冊的包。 現在我們可以導入這個包了; 它的模塊就像 Python 中的內置模塊或我們項目中的模塊一樣。
最後總結!
我希望你現在已經理解了 Python 的基本概念。 你現在可以隨心所欲地練習 Python,正如“熟能生巧”。
我建議你在學習高級 Python 之前先掌握這門課程。 這門 Python 課程可以擴展到學習數據分析、機器學習、Web 開發或 Python 的任何其他領域。 祝大家在編程生涯中一切順利。
繼續編碼!
發表評論