执行Python程序的相关过程中时,你会发现你其功能非常简单,例如从1加到10再打印出来而杂File模式,执行Python程序和交互都归在此类。以下就是文章的相关内容的详细介绍。忘你会有所收获。
在留坝等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,营销型网站,外贸营销网站建设,留坝网站建设费用合理。
Python源码分析2 - 一个简单的Python程序执行 收藏
本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构。
要执行Python程序如下,功能非常简单:从1加到10再打印出来
- # test program
- sum = 0
- for i in range(1, 11):
- sumsum = sum + i
- print sum
如果想要在Windows下面用VS 2005调试Python,可以通过下面步骤设置:
把Startup Project设置成Python,这样就可以直接通过F5来启动Python 右键单击Python这个Project,选择Properties。在对话框中的Configuration Properties->Debugging下面,把Command Arguments设置为-d test.py。其中test.py就是我们所要调试程序的名字。-d表示打开调试开关,可以看到额外的调试信息。
好了,设置完毕之后可以直接按下F10来单步追踪该程序的执行了。
首先,F10,启动Python程序,可以看到Python的main函数中没有什么内容,只是简单的调用Py_Main。Py_Main顾名思义自然是主函数了,分几大部分:
分析命令行和环境变量
调用Py_Initialize初始化
根据命令行的内容执行进入不同的执行模式
- if (command) {
- sts = PyRun_SimpleStringFlags(command, &cf) != 0;
- free(command);
- } else if (module) {
- sts = RunModule(module);
- free(module);
- }
- else {
- if (filename == NULL && stdin_is_interactive) {
- RunStartupFile(&cf);
- }
- /* XXX */
- sts = PyRun_AnyFileExFlags(
- fp,
- filename == NULL ? "
" : filename, - filename != NULL, &cf) != 0;
- }
从上面的代码可以很容易看出,一共有3种执行方式:
Command模式,执行单条Python语句。通过-c指定。语句内容存放在command变量中。调用PyRun_SimpleStringFlags来执行。
Module模式,执行整个Module。通过-m指定。调用RunModule来执行。
File模式,执行Python程序和交互都归在此类。可以看到,如果未指定文件名并且stdin是交互的话,会执行一个PYTHONSTARTUP所指定的源程序。
【编辑推荐】
名称栏目:用Python程序执行讨论Python实现基本的框架与结构
地址分享:http://www.mswzjz.cn/qtweb/news40/525590.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能