有没有办法在解释后写下python代码?

时间:2017-02-10 03:54:26

标签: python

这可能是一个愚蠢的问题,但我想在代码的最开头添加一行,如

  

打印'之前的运行时间'了time.time() - TIC

有办法吗?或者我可以以某种方式获得以前的运行时而不是保留日志文件吗?

2 个答案:

答案 0 :(得分:2)

我不同意接受的答案。您可以在解释期间编辑Python代码,以便将来运行时使用。文件本身在执行期间不被锁定,可以自行编辑。试试这个名为test.py的简单示例:

def main():
    with open('test.py','a') as me:
        me.write('    print "test"\n')

if __name__== '__main__':
    main()

每次运行时,都会添加额外的"打印测试"在文件的末尾,下一个运行时将执行修改后的代码。

你的例子比较复杂,但我认为没有理由你不能在最后一个运行时插入变量并将其调用以进行打印。

me.write('last_runtime = {0}'.format(time.time())

我会说,虽然这是可能的,但它可能(几乎可以肯定地读到)并不是最好的方法。只需让last_run.pickle和pickle转储一个datetime对象或其他任何东西来保存最后一个运行时(覆盖上一个最后一个运行时)会容易得多。然后让您的代码引用此参考文件。

虽然您可以从代码中编辑代码,但我可以想象这样做的唯一原因是,如果您在一个文件中100%需要程序的所有内容(这似乎是不太可能的要求)。否则最好将数据保存到某处并引用它。

答案 1 :(得分:1)

没有。除非写在某处,否则它是不可能的。简单的原因是,一旦python进程结束,GC就会清理所有内容。