Using Python 3.3 in OpenShift's book example

前端 未结 2 1695
夕颜
夕颜 2021-02-10 05:25

OpenShift recently published a book, \"Getting Started with OpenShift\". It is a good guide for someone just starting out.

In Chapter 3 they show how to modify a templat

2条回答
  •  天涯浪人
    2021-02-10 06:16

    As indicated in this question, you can replace the line

    execfile(virtualenv, dict(__file__=virtualenv))
    

    by

    exec(compile(open(virtualenv, 'rb').read(), virtualenv, 'exec'), dict(__file__=virtualenv))
    

    In my opinion, it would be better to break this up into a few simpler pieces. Also we should use a context handler for the file handling::

    with open(virtualenv, 'rb') as exec_file:
        file_contents = exec_file.read()
    compiled_code = compile(file_contents, virtualenv, 'exec')
    exec_namespace = dict(__file__=virtualenv)
    exec(compiled_code, exec_namespace)
    

    Breaking it up in this way will also make debugging easier (actually: possible). I haven't tested this but it should work.

提交回复
热议问题