Python执行代码的实际操作的五个步骤详细介绍

开发 后端
本文涉及到的有Python执行代码在实际应用操作的五部分的相关的介绍,以及在执行Python代码的时,调用相关函数对文件代码的转换的具体内容的介绍。

你对 Python执行代码的五步骤的具体应用都了解吗?想详细了解Python执行代码在实际运行中实际操作步骤吗?如果你对其有想了了解的欲望的话,你就可以点击我们的文章对其进行一个更好的了解。

Python执行代码要经过如下过程:

1. Tokenizer进行词法分析,把源程序分解为Token

2. Parser根据Token创建CST

3. CST被转换为AST

4. AST被编译为字节码

5. 执行字节码

当执行Python代码的时候,以代码存放在文件中的情况为例,Python会调用PyParser_ASTFromFile函数将文件的代码内容转换为AST:

 

  1. mod_ty  
  2. PyParser_ASTFromFile(FILE *fp, const char *filename, 
    int start, char *ps1,  
  3. char *ps2, PyCompilerFlags *flags, int *errcode,  
  4. PyArena *arena)  
  5. {  
  6. mod_ty mod;  
  7. perrdetail err;  
  8. node *n = PyParser_ParseFileFlags(fp, filename, 
    &_PyParser_Grammar,  
  9. start, ps1, ps2, &err, PARSER_FLAGS(flags));  
  10. if (n) {  
  11. mod = PyAST_FromNode(n, flags, filename, arena);PyNode_Free(n);  
  12. return mod;  
  13. }  
  14. else {  
  15. err_input(&err);  
  16. if (errcode)  
  17. *errerrcode = err.error;  
  18. return NULL;  
  19. }  
  20. }      

  1. PyParser_ParseFileFlags 

在Python执行代码中还要把文件转换成CST之后,PyAST_FromNode函数会把CST转换成AST。此函数定义在include\ast.h中:

 

  1. PyAPI_FUNC(mod_ty) PyAST_FromNode(const node *, PyCompilerFlags *flags,  
  2. const char *, PyArena *);   

 

以上就是对Python执行代码要经过相关的内容的介绍,忘你会有所收获。

【编辑推荐】

  1. Python学习入门中的先搭环境的具体应用的方法介绍
  2. Python源码分析的实际相关操作步骤解析
  3. Python库如何高效的完成工作的详细介绍
  4. Python编程语言的功能优点的具体体现
  5. Python编程语言在Zope软件开发中具体应用

 

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-03-19 17:39:49

Python编程

2010-03-26 18:51:51

Python作用域

2010-03-24 18:00:30

Python中文转换u

2010-03-12 15:29:19

Pythonexe

2010-03-10 15:54:33

Python读写文件

2010-06-12 10:41:23

MySQL修改数据

2010-05-28 18:16:43

MySQL 操作日志

2010-06-01 15:54:46

MySQL-pytho

2010-04-20 11:06:33

Oracle索引

2010-05-27 14:35:25

MySQL批量导入

2010-03-24 16:25:18

Python源代码

2010-07-21 15:22:07

2010-04-06 08:58:27

Oracle job

2010-04-16 17:17:31

Oracle访问

2010-05-12 13:45:25

Mysql 复制设置

2010-04-02 13:34:33

Oracle DBA

2010-06-02 13:22:18

MySQL定时任务

2010-05-20 15:39:14

MySQL支持中文

2010-04-15 13:51:06

Oracle EBS

2010-05-27 10:35:09

查询MySQL数据
点赞
收藏

51CTO技术栈公众号