我有这个必要性,我想知道是否可以实现:我想把我的python代码放在WebServer中。并且,只有在身份验证过程之后,正在执行我的脚本的用户才能读取我的WebServer中的文件并使用该内容作为脚本的一部分执行它。 Python中是否有任何函数可以将文件中的文本作为变量读取并执行该代码,就好像它是在脚本中编写的一样?
答案 0 :(得分:3)
如果你解释为什么要这样做,我愿意打赌,这实际上不是解决问题的方式。
但同时:
execfile
函数完全符合您的要求:它从文件中读取文本并以Python代码的形式执行。
如果您想先将文本读入变量,然后执行该变量中的代码,那么您需要的是exec
语句。
您可能想要一个自定义导入程序,因此您可以从HTTP URL或存储的文本中import
模块。或者,当然,您可以随时将文本写入您已添加到tempfile.NamedTemporaryFile
的某个目录中的sys.path
,然后通常import
该模块,而无需任何自定义导入程序代码。有关所有血腥细节,请参阅Importing Modules和PEP 302。 (请注意,与自定义导入相关的所有内容在Python 3.3中比在2.7中容易100倍...至少因为您可以从The import system开始而不是分散在14个地方找到所有文档,其中大多数是C中的注释代码...)
答案 1 :(得分:0)
你的方法必须是一个非常糟糕的做法。但你可以这样做:exec 'print 1 + 2'