簡體   English   中英

查找哪個腳本包含特定的函數或類

[英]Finding which script contains a particular function or class

如何找到文件路徑並糾正包含特定功能或模塊類的腳本?


示例:說我想看一下tkinter.Button()源代碼。

我使用以下方法找到了__init__.py文件用於tkinter的位置:

>>>import tkinter
>>>tkinter.__file__
'C:\\Users\\Simon\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\tkinter\\__init__.py'

我搜索了該文件夾,但是找不到名為Button任何函數或類。 我的猜測是它包含在運行時中,而不是.py文件中,但是我不確定 ,並且想要確定這一點。

Python文檔的特殊屬性中,我也找不到任何有用的東西。

歡迎任何建議,但請注意,本文不僅設置在tkinter模塊上,而且還設置在大多數軟件包或模塊上,tkinter僅作為示例。

tkinter對象未實現為Python源代碼。 請參閱tkinter文檔

Tk接口位於名為_tkinter的二進制模塊中。 該模塊包含到Tk的低級接口,並且絕對不能被應用程序程序員直接使用。 它通常是一個共享庫(或DLL),但在某些情況下可能與Python解釋器靜態鏈接。

請參閱tkinter庫文檔鏈接到的Tcl / Tk文檔 Tcl / Tk文檔又鏈接到https://core.tcl.tk/ ,該項目的開發中心(Python外部)。

從那里的鏈接,您可以找到項目源代碼GitHub鏡像 ,其中包括Tk源 ,您可以在其中找到tkButton.c源文件 這是核心按鈕小部件實現。

也有一些Python代碼 ,但是那里的類定義大多只是將命令傳遞給本地Tk庫。

歡迎任何建議,但請注意,本文不僅設置在> tkinter模塊上,還設置在大多數軟件包或模塊上,tkinter僅作為示例。

這幾乎可以回答您的問題(對於一般情況) 如何在Python中獲取類的文件路徑?

人們還可以看到,類按鈕(控件)在init 定義 ,但是這是一個包裝作為@Martijn皮特斯寫道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM