python 源码 分析

#2013_10_05   星期六   add by greshem
:P:\_xfile_2010_04\Python-2.4.3.chm::/index.html

python 的run 的方式有所不同 或者是 简单的 strings 的run,
    或者是 文件 方式的的run
具体的实现 都在这个文件里面定义
root/Python/pythonrun.c
最常见的  PyRun_SimpleStringFlags  #字符串
          PyRun_AnyFileExFlags        #文件方式

#==========================================================================
main
Py_Main(__argc, __argv);

    Py_SetProgramName(argv[0]);
    Py_Initialize();

    PyRun_SimpleStringFlags(command, &cf) != 0;
        PyImport_AddModule("__main__");
        PyModule_GetDict(m);
        PyRun_StringFlags(command, Py_file_input, d, d, flags
            PyParser_SimpleParseStringFlags(




    PyRun_AnyFileExFlags(FILE *fp, const char *filename, int closeit,
        PyRun_InteractiveLoopFlags(FILE *fp, const char *filename, PyCompilerFlags *flags)
            PyRun_InteractiveOneFlags(FILE *fp, const char *filename, PyCompilerFla
                run_node(node *n, const char *filename, PyObject *globals, PyObject *locals,
                    PyEval_EvalCode(PyCodeObject *co, PyObject *globals, PyObject *locals)
                        PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals,
                            PyEval_EvalFrame(PyFrameObject *f)

你可能感兴趣的:(python 源码 分析)