如何從python文件創建文檔? 我想從所有的對象和類創建樹和def,我通過讀取變量解釋所有的方法。 我要創建我的Python文件文檔是窮人的任何doc.for例子,這是我的Python文件:從python文件生成文檔沒有doc字符串和python文件中的任何評論
from core.server import handler
from core.ras import ras_main,ras
from core.lib.sort import SortedList,SortedDic
from core.lib.general import *
from core.lib.multi_strs import MultiStr
from core.ippool import ippool_main
class RasHandler(handler.Handler):
def __init__(self):
handler.Handler.__init__(self,"ras")
self.registerHandlerMethod("addNewRas")
self.registerHandlerMethod("getRasInfo")
self.registerHandlerMethod("getActiveRasIPs")
self.registerHandlerMethod("getRasDescriptions")
self.registerHandlerMethod("getInActiveRases")
self.registerHandlerMethod("getRasTypes")
self.registerHandlerMethod("getRasAttributes")
self.registerHandlerMethod("getRasPorts")
self.registerHandlerMethod("updateRasInfo")
self.registerHandlerMethod("updateAttributes")
self.registerHandlerMethod("resetAttributes")
self.registerHandlerMethod("getPortTypes")
self.registerHandlerMethod("addPort")
self.registerHandlerMethod("delPort")
self.registerHandlerMethod("updatePort")
self.registerHandlerMethod("deActiveRas")
self.registerHandlerMethod("deleteRas")
self.registerHandlerMethod("reActiveRas")
self.registerHandlerMethod("getRasPortInfo")
self.registerHandlerMethod("getRasIPpools")
self.registerHandlerMethod("addIPpoolToRas")
self.registerHandlerMethod("delIPpoolFromRas")
def addNewRas(self,request):
request.needAuthType(request.ADMIN)
creator_obj=request.getAuthNameObj()
creator_obj.canDo("CHANGE RAS")
request.checkArgs("ras_ip","ras_type","radius_secret","ras_description","comment")
ras_id=ras_main.getActionManager().addNewRas(request["ras_ip"].strip(),
request["ras_description"].strip(),
request["ras_type"],
request["radius_secret"],
request["comment"],
creator_obj.getAdminID(),
creator_obj.getISPID(),
request.getRemoteAddr()
)
return ras_id
def getRasInfo(self,request):
request.needAuthType(request.ADMIN)
requester_obj=request.getAuthNameObj()
requester_obj.canDo("GET RAS INFORMATION")
request.checkArgs("ras_ip")
requester_obj.checkAccessToRasByIP(request["ras_ip"])
ras_obj=ras_main.getLoader().getRasByIP(request["ras_ip"])
return ras_obj.getInfo()
def getActiveRasIPs(self,request):
request.needAuthType(request.ADMIN)
creator_obj=request.getAuthNameObj()
if request.has_key("type_filter"):
types = request.fixList("type_filter")
def typeFilter(ras_obj):
if ras_obj.getType() in types:
return ras_obj.getRasIP()
return None
ras_ips = filter(None, ras_main.getLoader().runOnAllRases(typeFilter))
else:
ras_ips = ras_main.getLoader().getAllRasIPs()
ras_ips = filter(creator_obj.hasAccessToRasByIP, ras_ips)
sorted=SortedList(ras_ips)
sorted.sort(False)
return sorted.getList()
def getRasDescriptions(self,request):
"""
return list of tuples in format [(ras_description,ras_ip)]
"""
request.needAuthType(request.ADMIN)
requester_obj=request.getAuthNameObj()
desc_to_ip_map = ras_main.getLoader().getRasDescToIPMap()
for ras_desc, ras_ip in desc_to_ip_map.items():
if not requester_obj.hasAccessToRasByIP(ras_ip):
del(desc_to_ip_map[ras_desc])
sorted=SortedDic(desc_to_ip_map)
sorted.sortByKey(False)
return sorted.getList()
def getInActiveRases(self,request):
request.needAuthType(request.ADMIN)
creator_obj=request.getAuthNameObj()
creator_obj.canDo("LIST RAS")
return ras_main.getActionManager().getInActiveRases()
def getRasTypes(self,request):
"""
return a list of all available ras types
"""
request.needAuthType(request.ADMIN)
creator_obj=request.getAuthNameObj()
creator_obj.canDo("GET RAS INFORMATION")
type_list=ras_main.getFactory().getAllTypes()
sorted = SortedList(type_list)
sorted.sort(False)
return sorted.getList()
def getRasAttributes(self,request):
request.needAuthType(request.ADMIN)
request.checkArgs("ras_ip")
requester_obj=request.getAuthNameObj()
requester_obj.canDo("GET RAS INFORMATION")
requester_obj.checkAccessToRasByIP(request["ras_ip"])
return ras_main.getLoader().getRasByIP(request["ras_ip"]).getAllAttributes()
如何從這個創建文檔?例如,我想要這些信息用於我的結果。如:多少def,多少class,def與class之間的關係。 不要使用help()和dir()方法,因爲我沒有任何依賴模塊。 我覺得應該使用通過re模塊解析python文件和使用正則表達式。 如何做到這一點? 我無法導入這個文件。我想用它處理文本文件!
什麼樣的文檔做你想生成? Python有在函數和類中使用文檔字符串來生成文檔的方法,但是您指定了「沒有文檔字符串和任何評論」,所以很難準確理解您想要的內容。你能舉一個生成文檔的例子嗎? – icedtrees
保存關於函數信息的最佳位置,class是docString,所以我個人認爲不用docString生成doc是一個好主意,因爲幫助也應該是第一手可用於程序員而不僅僅是學習者或代碼的用戶。 –