是否可以访问标准传递给python的python脚本的源代码?
发布时间:2020-12-20 11:14:20 所属栏目:Python 来源:网络整理
导读:这是一个随机问题,更多是出于好奇而不是任何特定需求. 是否有可能编写一些python代码来打印一些东西,包括源代码本身,而不将python代码存储在文件中?例如,在Bash提示符下执行以下操作: $echo ' print "The Code:" PrintScript() # What would this function
这是一个随机问题,更多是出于好奇而不是任何特定需求.
是否有可能编写一些python代码来打印一些东西,包括源代码本身,而不将python代码存储在文件中?例如,在Bash提示符下执行以下操作: $echo ' > print "The Code:" > PrintScript() # What would this function look like? > for i in range(5): > print i,> print "!" > ' | python 得到这样的输出: The Code: print "The Code:" PrintScript() # What would this function look like? for i in range(5): print i,print "!" 0 1 2 3 4 5 ! 我怀疑这可能无法完成,但鉴于python的内省功能,我很想知道它是否扩展到这个级别. 解决方法
那是我最接近的:
echo 'import __main__,inspect;print inspect.getsource(__main__)' | python 哪个失败了…在任何情况下,解释器在启动时都会占用原始代码(从stdin读取).最多可以通过__main__模块获取已编译的代码. 更新: dis模块应该为您提供模块中所有函数的反汇编,但即使是那个也没有看到任何代码: $echo -e 'import __main__,dis;print dis.dis(__main__)' | python None 即使我投入一个函数: $echo -e "import __main__,dis;print dis.dis(__main__)ndef x():n pass" | python None (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |