1
我有一個包含許多類的python文件。該文件看起來就像這樣:解析python文件以查找具有特定標籤的類
some code, functions and stuff...
class A():
some code...
@label
class B(A):
some code...
@label
class C(A):
some code...
class D(A):
some code...
some extra code...
我想要做的就是讓所有具有@label他們的聲明,即在這個例子之前類的列表:[B,C]。 (這將發生在另一個文件,如果它很重要)
我到目前爲止嘗試解析文件,就像它是一個普通的文本文件(與讀取()和東西),但我得到的是類名稱而不是類本身,即(['B','C']),我不知道下一步該怎麼做。我真的希望有一個更優雅的方式。下一步,在獲得班級名單之後,我將爲每個班級激活他們所擁有的某種功能。這就是爲什麼這個班級的名字對我來說不夠。
看看了'ast'模塊,它解析使用內置解析器蟒的蟒蛇文件。 – RecursivelyIronic
另外[**'inspect' **](https://docs.python.org/2/library/inspect.html)。 –
你有訪問/可以更改裝飾器的源代碼嗎? –