是否可以访问标准传递给python的python脚本的源代码?

是否可以访问标准传递给python的python脚本的源代码?,第1张

概述这是一个随机问题,更多是出于好奇而不是任何特定需求. 是否有可能编写一些python代码来打印一些东西,包括源代码本身,而不将python代码存储在文件中?例如,在Bash提示符下执行以下 *** 作: $echo '> print "The Code:"> PrintScript() # What would this function look like?> for i in range(5): 这是一个随机问题,更多是出于好奇而不是任何特定需求.

是否有可能编写一些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__)' | pythonNone

即使我投入一个函数:

$echo -e "import  __main__,dis;print dis.dis(__main__)\ndef x():\n pass" | pythonNone
总结

以上是内存溢出为你收集整理的是否可以访问标准传递给python的python脚本的源代码?全部内容,希望文章能够帮你解决是否可以访问标准传递给python的python脚本的源代码?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存