小编Fre*_*lie的帖子

试图在python中打印模块内的每个子模块

对不起,如果我在这期间弄错了一些事实,但我只编程了大约一年,因为我在我的学校开始了一个计算机课程,对不起,如果这个问题在我到处看之前已经得到了回答,但我不知道是什么搜索.最近我发现了一个游戏,您可以使用注入器将python代码注入其中,但找到代码的唯一方法是使用:

    import modulename
    print dir(modulename)
Run Code Online (Sandbox Code Playgroud)

然后打印dir(modulename.submodulename)

这会将该模块中的所有子模块打印到游戏的日志文件中.使用这种技术,我开发了一个脚本,在执行时将找到该目录中的所有子模块并将它们写入文件.

import modulename

myfile=open("name.txt","w")
myfile.write("modulename\n")

for a in dir(modulename):
    a="modulename"+"."+a
    for b in dir(a):
        b=a+"."+b
        for c in dir(b):
            c=b+"."+c
            if ".__" in c:
                pass
            elif "._" in c:
                pass
            else:
                myfile.write(c+"\n")
        if ".__" in b:
            pass
        if "._" in b:
            pass
        else:
            myfile.write(b+"\n")
    if ".__" in a:
        pass
    if "._" in a:
        pass
    else:
        myfile.write(a+"\n")

print "Done"
myfile.close()
Run Code Online (Sandbox Code Playgroud)

不幸的是,当运行"something.something"时,模块不存在.这是模块"随机"的示例,其中"random.weibullvariate"是一个真实的模块,但是经过第二个"."的任何东西.不在随机子模块中.

random.weibullvariate.title.translate
random.weibullvariate.title.upper
random.weibullvariate.title.zfill
random.weibullvariate.title
random.weibullvariate.translate.capitalize
random.weibullvariate.translate.center
random.weibullvariate.translate.count
random.weibullvariate.translate.decode
random.weibullvariate.translate.encode
random.weibullvariate.translate.endswith
random.weibullvariate.translate.expandtabs
random.weibullvariate.translate.find
random.weibullvariate.translate.format
random.weibullvariate.translate.index …
Run Code Online (Sandbox Code Playgroud)

python finder module

5
推荐指数
1
解决办法
5069
查看次数

标签 统计

finder ×1

module ×1

python ×1