Python 中的 __file__ 變數

Muhammad Maisam Abbas 2021年10月2日
Python 中的 __file__ 變數

本教程將討論 Python 中的 __file__ 變數。

Python 中的 __file__ 變數

圍繞某些變數和方法名稱的雙下劃線在 Python 中也稱為 dunder。按照慣例,名稱被 dunder 包圍的任何變數或方法都是特殊的變數或方法。__file__ 變數也是一個特殊變數,用於獲取匯入到我們程式碼中的任何模組的確切路徑。下面的程式碼片段向我們展示瞭如何使用 __file__ 變數獲取匯入模組的路徑。

import os
print(os.__file__)

輸出:

/usr/lib/python3.7/os.py

在上面的程式碼中,我們使用 __file__ 特殊變數列印了包含 os 模組的檔案路徑;這也可以用於使用者生成的模組。以下程式碼片段向我們展示瞭如何將 __file__ 變數用於使用者生成的模組。

hello.py 檔案:

def printHello():
    print("Hello World")

main.py 檔案:

import hello as h

h.printHello()
print(h.__file__)

輸出:

Hello World
/content/hello.py

在上面的程式碼中,我們使用 __file__ 特殊變數來獲取使用者生成的模組 hello 的路徑。首先,我們建立了包含 printHello() 方法的 hello.py 檔案,該方法在控制檯中列印 Hello World

然後,我們在我們的 main.py 檔案中匯入了 hello 模組並呼叫了 h.printHello() 方法。最後,我們使用 print(h.__file__) 方法列印了包含 hello 模組的檔案的路徑。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn