一种在线编辑python代码的方法以及电子设备与流程

文档序号:17600485发布日期:2019-05-07 20:13阅读:524来源:国知局
一种在线编辑python代码的方法以及电子设备与流程

本发明涉及python领域,尤其涉及一种在线编辑python代码的方法以及电子设备。



背景技术:

随着人工智能和大数据时代的兴起,python这门动态语言以简洁的语法、丰富而强大的社区以及强大的跨平台特性得到了工业界和学术界的一致认可。用户可通过python语言实现与人工智能“交流”的目标。不仅如此,越来越多的编程爱好者也逐渐加入到python代码的学习与创作中。

用户可在计算机中安装python代码编辑器,从而达到学习python代码和创作python代码的目的。

然而,由于python代码编辑器的特性,其必须安装在windows10操作系统中,如果安装在较低版本的windows操作系统中,例如,window7或者windowxp操作系统,则必须安装相应的系统补丁或者dll文件等等。

换句话说,现有技术不支持用户直接编辑python代码,或者说不支持用户在线编辑python代码。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种在线编辑python代码的方法以及电子设备,旨在解决现有技术不支持在线编辑python代码的问题。

本发明的技术方案如下:

一种在线编辑python代码的方法,其包括步骤:

预先通过编程语言编写语法解析,且所述语法解析为基于python的语法结构,并初始化所述语法解析的配置,得到基于python的语法规则的配置文件;

获取用户输入的文本信息,根据所述配置文件对所述文本信息进行解析,得到相应的解析文件;

将所述解析文件转化为脚本语言,并运行脚本语言。

优选的,获取用户输入的文本信息具体包括:

当用户在python编辑器的编辑器面板输入文本信息时,通过文档对象模型获取文本信息。

优选的,所述初始化所述语法解析的配置的步骤具体包括:

初始化输入函数、初始化输出函数、初始化python的版本、初始化中断函数或者初始化自定义函数。

优选的,所述自定义函数为文本输入函数或数字输入函数的一种或两种。

优选的,在获取用户输入的文本信息之后,将获取得到的文本信息输送至输入函数进行初始化处理。

优选的,所述根据所述配置文件对所述文本信息进行解析,得到相应的解析文件的步骤具体包括:

根据python的语法规则对文本信息进行解析,得到相应的自定义变量和自定义函数;

将得到的自定义变量和自定义函数存入全局变量。

优选的,所述将所述解析文件转化为脚本语言,并运行脚本语言的步骤具体包括:

运行脚本语言,并判断脚本语言中的中断函数属性是否正确;

若正确,则停止脚本语言的运行,若不正确,则判断运行过程中是否存在错误。

优选的,所述判断运行过程中是否存在错误的步骤包括:

当运行过程中存在错误时,则停止脚本语言的运行;

当运行过程中不存在错误时,则将结果通过所述输出函数输出。

优选的,所述获取用户输入的文本信息,根据所述配置文件对所述文本信息进行解析,得到相应的解析文件之前还包括:

运行所述配置文件。

优选的,所述中断函数属性为hardinterrupt属性。

优选的,通过改变所述hardinterrupt属性以停止脚本语言的运行。

优选的,所述输出函数为print,输入函数为input。

本发明还提供一种电子设备,其包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

预先通过编程语言编写语法解析,且所述语法解析为基于python的语法结构,并初始化所述语法解析的配置,得到基于python的语法规则的配置文件;

获取用户输入的文本信息,根据所述配置文件对所述文本信息进行解析,得到相应的解析文件;

将所述解析文件转化为脚本语言,并运行脚本语言。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执所述的在线编辑python代码的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的在线编辑python代码的方法。

有益效果:通过本发明提供的方法,用户可以通过浏览器直接编辑和运行python代码,从而不需要在计算机中安装python代码编辑器,也不需要安装系统补丁和dll文件,从而大大节约了时间。不仅如此,本发明通过浏览器直接运行python代码更加便捷,能够大大提高效率。

附图说明

图1为本发明在线编辑python代码的方法较佳实施例的流程图。

图2为本发明电子设备较佳实施例的结构框图。

具体实施方式

本发明提供一种在线编辑python代码的方法以及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,一种在线编辑python代码的方法,其包括步骤:

s1、预先通过编程语言编写语法解析,且所述语法解析为基于python的语法结构,并初始化所述语法解析的配置,得到基于python的语法规则的配置文件;

s2、获取用户输入的文本信息,根据所述配置文件对所述文本信息进行解析,得到相应的解析文件;

s3、将所述解析文件转化为脚本语言,并运行脚本语言。

通过本发明提供的方法,使得用户在打开浏览器后,便可以直接编辑python代码,而不需要安装python代码编辑器。不仅如此,各个版本的操作系统均能够使用本发明的方法,例如,windows8、windows7和windowsxp操作系统,此外,本发明的提供的方法能够在各种浏览器中编辑python代码代码,例如,chrome(谷歌)浏览器、ie浏览器或者360安全浏览器等等。此外,通过本发明提供的方法,用户还可以在一些平板电脑中编辑python代码,例如,ipad等等。这样,用户便可以随时编辑python代码,不再限制于操作系统的版本,以及不再限制于计算机的类型。

所述步骤s1中,所述脚本语言具体是指javascript代码,javascript主要用来改进设计、验证表单、检测浏览器、创建cookies以及创建应用程序。javascript是一种动态类型、弱类型和基于原型的语言,并且它的解释器被称为javascript引擎,为浏览器的一部分。

所述语法解析具体是指语法解析器(转换工具),例如,skulpt,其中,skulpt能够完全读取python代码,并将python代码完全转化为相应的js代码,在转化为相应的js代码后,便可以完全获取python代码中的所有函数、参数以及调用关系等等。也就是说,通过语法解析器:skulptjs能够完全读取python代码。这样,便可以通过skulpt完全读取python代码,并且可以读取python代码每一行的函数或者参数。

需要说明的是,由于语法解析的结构与python的语法结构相似,因此能够完全读取python代码。

优选的,所述初始化所述语法解析的配置的步骤具体包括:

初始化输入函数、初始化输出函数、初始化python的版本、初始化中断函数或者初始化自定义函数。

对函数进行初始化,以及对python代码编辑器的版本号进行初始化,能够保证python代码编辑器的兼容性。

对函数进行初始化,具体是指导入函数至skulpt中,当需要使用或调用函数时,便可以直接通过函数名使用或调用相应的函数。当然,通过函数名调用函数仅仅是调用方式的一种,也可以直接通过函数调用函数或者通过特定数值调用函数等等。

由于本发明主要安装于低版本的windows系统中,而高版本的python代码编辑器无法运行在windowsxp系统中,因此,需要对python代码编辑器的版本号进行初始化,保证兼容性。

优选的,所述输出函数为print,输入函数为input。

其中,print函数能够直接输出所有字符类型,例如,可直接输出字符串;同时还支持输入多种变量,例如,可以输出布尔、列表或者字典等等。不仅如此,还可以格式化输出,即通过print函数将原先的输入结果全部删除。

input函数以字符串的形式获取用户输入的信息,然后通过运算符对用户输入的信息进行拼接或复制等操作。不仅如此,input函数还可以对用户输入的信息进行转换,其中,转换方式包括自动转换、指定类型和切割转换。自动转换是预先设定转换类型,在用户输入信息后,便可以直接得到指定的类型;指定类型转换是指每次转换前均设定一个转换类型,从而得到指定类型的数据;切割转换能够同时得到多种类型的数据。

优选的,所述自定义函数为文本输入函数或数字输入函数的一种或两种。

其中,所述文本输入函数具体是指textinput,所述数字输入函数具体是指numberinput。更具体的说,在使用textinput函数后,用户便可以浏览器中通过键盘输入文本信息,即通过键盘输入python代码;当调用numberinput函数时,相应的文本输入框便只能输入数字,无法输入中文、字母以及特殊符号。

所述配置文件具体包括上述中的所有函数,以及python代码编辑器的版本号。不仅如此,所述配置文件还包括函数中的参数信息、函数的函数名以及函数的引用关系等等。

优选的,所述步骤s2之前还包括:

运行所述配置文件。

通过运行所述配置文件,从而调用所述配置文件。关于配置文件已在上述步骤中详细描述,故此不做赘述。

所述步骤s2中,用户可直接在一输入界面中输入python代码,然后,将自动获取用户输入的python代码,即文本信息,然后根据配置文件对python代码进行解析,从而得到相应的解析文件。

其中,所述输入界面具体是指浏览器的窗口界面,并且所述输入界面内嵌与浏览器界面内,在用户完成python代码的输入后,输入界面将自动隐藏。

优选的,获取用户输入的文本信息具体包括:

当用户在python编辑器的编辑器面板输入文本信息时,通过文档对象模型获取文本信息。

所述python编辑器的编辑器面板即为所述输入界面,当输入python代码时,将自动通过文档对象模型获取文本信息。

其中,所述文档对象模型具体是指一种函数。

优选的,所述文档对象模型具体为:dom函数。dom函数具体是指一种加载函数,能够访问python代码,并且对python代码进行遍历,以及在python代码中插入函数或者删除函数。

这样,通过dom函数便可以完全获取用户输入的python代码,并在获取python代码后,根据预先配置的配置文件对python代码进行解析,从而获取python代码中每一行的函数、参数以及调用表达式等等。

优选的,在获取用户输入的文本信息之后,将获取得到的文本信息输送至输入函数进行初始化处理。

在获取文本信息,即获取用户输入的python代码后,便可以将python代码传输至输入函数,并由输入函数对python代码进行初始化。

优选的,所述步骤s2具体包括:

s21、根据python的语法规则对文本信息进行解析,得到相应的自定义变量和自定义函数;

s22、将得到的自定义变量和自定义函数存入全局变量。

所述步骤s21中,python的语法规则具体是指代码块分隔符。由于python代码会自动以缩进检测块的边界,也就是代码左侧的空白空间。缩进至右侧相同距离的所有语句属于同以块代码。换句话说,块内的语句垂直对其,就好像在一栏之内。

这样,通过代码块分隔符便可以对本文信息进行解析,从而获取每个代码块内的自定义变量和自定义函数。

其中,自定义变量是指自定义的常数,或者自定义的参数等等。自定义函数可以是len函数或open函数等等。

所述步骤s22中,全局变量是一种能够被本程序的所有函数和所有对象引用的数据。也就是说,为了方便引用自定义变量和自定义函数,因此将自定义变量和自定义函数存入至全局变量。

这样,当运行配置文件时,便可以根据配置文件对获取得到的python代码进行解析,从而得到相应的解析文件。

所述步骤s3中,将得到的解析文件转化为相应的js代码,并通过浏览器执行相应的js代码,从而得到相应的执行结果。

这样,用户便可以直接在浏览器中输入python代码,并自动将python代码转化为js代码,最后由浏览器执行转换得到的js代码。使得用户不再局限于通过python代码编辑器输入python代码,从而大大提供了python代码的输入效率,大大方便了用户。

优选的,所述步骤s3具体包括:

s31、运行脚本语言,并判断脚本语言中的中断函数属性是否正确;

s32、若正确,则停止脚本语言的运行,若不正确,则判断运行过程中是否存在错误。

所述s31中,所述中断函数为sys.exit()、os._exit()或os.kill()的一种或几种。通过浏览器可以直接获取脚本语言(js代码)的所有数据,并在执行过程中判断js代码中的中断函数是否正确。优选的,所述中断函数属性为hardinterrupt属性,hardinterrupt属性是指硬中断属性。

所述步骤s32中,如果中断函数的正确,那么停止云顶脚本运行,即中断脚本语言的运行。如果中断函数不正确,或者不存在中断函数,则继续运行脚语言,并判读运行过程中是否出现错误。

优选的,通过改变所述hardinterrupt属性以停止脚本语言的运行。

当需要中断脚本语言的运行时,可通过动态改变hardinterrupt的方式来终止脚本语言的运行。

优选的,所述判断运行过程中是否存在错误的步骤包括:

当运行过程中存在错误时,则停止脚本语言的运行;

当运行过程中不存在错误时,则将结果通过所述输出函数输出。

如果运行过程中出现错误,那么自动停止运行脚本语言,并且自动抛出相应的错误信息,用户可根据错误信息对python代码进行修改,并再次将python代码转化为脚本语言,以及再次通过浏览器脚本语言。

如果运行过程中没有出现错误,则继续执行脚本语言,并且将执行结果通过预先设定的输出函数输出。

这样,通过本发明提供的方法便可以在线编辑python代码,并且通过浏览器直接执行python代码,得到相应的执行结果。与现有技术相比,本发明提供的方法无疑更加方便和便捷,用户能够随时使用浏览器输入python代码,并得到相应的执行结果。

请参阅图2,本发明还提供一种电子设备10,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:

预先通过编程语言编写语法解析,且所述语法解析为基于python的语法结构,并初始化所述语法解析的配置,得到基于python的语法规则的配置文件;

获取用户输入的文本信息,根据所述配置文件对所述文本信息进行解析,得到相应的解析文件;

将所述解析文件转化为脚本语言,并运行脚本语言。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的在线编辑python代码的方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行在线编辑python代码的各种功能应用以及数据处理,即实现上述方法实施例中的在线编辑python代码的方法。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执所述的在线编辑python代码的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的在线编辑python代码的方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1