我需要从文件夹中的.py文件中获取所有def函数。 我有这个从文件夹中获取文件名。
import Modules
path = os.path.dirname(os.path.realpath(__file__)) + "/Modules/"
modules=[]
os.chdir(path)
for file in glob.glob("*.py"):
if file != "__init__.py":
file = file.replace(".py", "")
Module = "Modules." + file
这可以使所有文件名都正常并从中删除.py问题是当我尝试使用此函数获取所有函数时
for i in dir(Module):
if i[0] != "_":
print i
打印出这样的东西
capitalize
center
count
decode
encode
我认为是"字符串"一般来说。我打印出模块并返回返回的Modules.test,并将其放入函数
for i in dir(Modules.test):
if i[0] != "_":
print i
它确实返回" test"(这是我在文件中的def函数的名称),我尝试使用this将字符串转换为原始字符串,但是它不工作。所以我只是想知道如何实现这个目标
答案 0 :(得分:0)
for fpath in glob.glob("*.py"):
if not fpath.endswith("__init__.py"): #recall glob returns full path
with open(fpath) as f:
print os.path.basename(fpath)
print " "+"\n ".join(re.findall("def (.*):",f.read()))
也许......我想?