java怎么判断python脚本命令是否符合语法规则?

在输入框编写python代码后会传到到后台,由后台在虚拟机里生成python脚本,java代码怎么在接收到python代码后验证代码是否符合语法要求

0

2个回答

我的想法是:
在python的代码前加上try:, 在后面加上

except Exception as e:
return e
运行后就会返回错误的代码,就可以验证代码是否符合语法要求

0

像python这样的动态语言,只有执行才能知道脚本是否有语法错误。像一个程序运行了几个小时,才得到一个语法错误的事情经常遇到。

这有点类似“停机问题”。

我们知道,有很多世界级的数学难题,比如哥德巴赫猜想、黎曼猜想、费马定律,都很难以证明,但是写一个程序,代入计算,寻找有没有反例,这个不难写。问题是,这种程序写出来,运行时间很长,甚至无限长(如果没有反例,就一直算下去)。
于是有人就想了,如果我们编写这么一个程序,去寻找反例。比如哥德巴赫猜想(任一大于2的偶数都可写成两个质数之和),我们就写一个死循环,从2开始遍历偶数,分解质数看看能不能写成两个质数之和,如果不能,程序停止循环,退出,如果能就继续。
那么如果说我们能找到一个方法,分析这个程序本身(而不是循环执行它),就能知道这个程序是否会停止还是无限循环下去,岂不是我们就能证明哥德巴赫猜想了么?也就是如果程序会停止,我们就知道这个猜想是不成立的,如果不会停止,就是成立的。这就是“停机问题”。

但是这个分析程序的方法是不可能找到的。证明的过程很简单。如果我们能写出这么个分析的程序,它分析自身,如果得到的结果是会停机,我们就死循环,如果会死循环,我们就跳出循环,也就是自己判断自己,那么会如何呢?显然这就是悖论了。

好了,回到你的问题,python的程序是动态的,因此可以在运行的时候生成代码,比如说:
obj
if 今天是2018年:
obj.a=1
print(obj.a)
那么obj有没有a这个属性全凭借今天是不是2018年的某天,如果明年运行就a没有定义了。

因此,你看无论是 IPython PyCharm,没有一种环境可以在编写代码的时候找出所有的语法错误。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么判断一组数据是否符合正态分布
我现在做一个小型的评估系统,在jsp页面上输入多个学生成绩rn然后计算出平均值,方差和期望,接着生成成绩分布的图片rn现在的问题是如何看输入的一组数据是否符合正态分布?rn根据判断是否符合正态分布输出评价。rn以前没做过这种东西,求高人指教。。。在线等
怎么判断一个字符串是否符合时间类型?
代码如下:rnstring date = "2009/06/30/ 18:08:00";rn格式: YYYY/MM/DD HH24MMSSrn怎么判断那个时间符合这个格式啊.大概是这个意思..
java 判断日期格式是否符合“YYYY-MM-DD”
package com.hrms.ws; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static boolean isValidDate(String sDate) { String datePattern1 = "\\d{...
判断变量名是否合法的python脚本
(首位为字母或下划线,其他为数字,字母或下划线) #!/usr/bin/env python #coding:utf-8 """ file:test2.py date:8/25/179:15 PM author:aboth desc:编写一个python脚本,判断用户输入的变量名是否合法 """ import string str=raw_input("输入变量名:") ...
system() 命令怎么判断是否
比如我在程序里调用 system("del d:\\log");rn删除文件夹 他有一个Y/N 的选择 怎么加进去?让他自动选Y
判断字符串是否符合日期格式
如何判断输入的字符串符合日期格式:YYYY-MM-DD比如2009-1-1或2009-11-29,而不是09-1月-10 ,09-01-10之类的
判断输入是否符合规则
输入只能是数字,英文字母和中文// 校验Tag Alias 只能是数字,英文字母和中文 public static boolean isValidTagAndAlias(String s) { Pattern p = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_!@#$&*+=.|]+$"); Matcher ...
判断是否符合指定格式
给定字符串 str,检查其是否符合如下格式 1、XXX-XXX-XXXX 2、其中 X 为 Number 类型 function matchesPattern(str) {     var reg=/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/;      return reg.test(str); }
判断是否符合 USD 格式
给定字符串 str,检查其是否符合美元书写格式 1、以 $ 开始 2、整数部分,从个位起,满 3 个数字用 , 分隔 3、如果为小数,则小数部分长度为 2 4、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3 function isUSD(str) {    
判断是否符合密码要求
问题简述:判断输入一串字符,是否符合密码要求(至少出现大小写字母,特殊字符,数字四个中的三个),长度不够不能通过测试。 夸夸我自己,做的时候感觉自己真的会使用数组了 解题思路:利用一个一位数组分别存储四种字符出现的情况,再用switch函数输出 #include<stdio.h> #define N 20 #include <string.h> int main() { ...
判断字符是否符合.*形式
[code=C#]rntbName 文件名rntbExtension 文件扩展名rnrnif(tbName.Text.Trim()!="")rnrn if(!tbExtension.Text.Contains("."))rn rn 报错rn rnrnrn目前偶就只能判断在字符串包含. 就通过 .1 1.1 这种也可以通过rnrn但是偶要判断的是.*的形式rn类似.doc .txt .xml等一切合格的类型rn应该怎么写啊??rn[/code]
又一个奇怪写法--大家来说说是否符合语法规则…………………………
Socket类有这么一个构造函数,Socket(InetAddress address, int port);rn在创建对象时可以这么写:rn Socket s = new Socket(10.65.111.101, 1800);rnrn! 这里的IP地址直接写在参数里,系统会自动解析成InetAddress对象吗?rn 这样的写法是否符合语法规则???(其中带点操作符,会不会解释成object.value呢?)rnrn谢谢参与!!!!!!rnrn
java语法规则
java语法规则的经典
表单输入怎么怎么判断是否符合颜色代码
比如输入如 #008800 和 red blue 为合法。rn#00000s ssssss 为不合法。
怎么判断命令行命令是否执行完毕?
问题是这样的。rn我在程序运行到一定的时候,要winexec()运行一个命令行程序A,等到A执行完毕后,返回主线程一个消息告知其运行结束。这个怎么实现?
php判断一个字符串是否符合时间格式
$preg = '/^([12]\d\d\d)-(0?[1-9]|1[0-2])-(0?[1-9]|[12]\d|3[0-1]) ([0-1]\d|2[0-4]):([0-5]\d)(:[0-5]\d)?$/';preg_match($preg, '2018-1-2 24:00:50')年:([12]\d\d\d) 表示第一位只能是1或者2,后三位数字即可;范围1000-2999;月:(0?[1-...
判断前台的输入是否符合规矩
数据库的varchar2(50)能存50个字母,25和汉字,我怎么通过前台的控制,保证输入的是否合法呢。rn现在主要问题是,我不知道是数字,汉字,逗号,等其他字符。rnrn比如说:123abc汉字!#@#%4356%#¥%#¥%这样的格式,我怎么知道他输入的是否合法呢
如何判断一个字段是否符合日期格式
比如字段A ='2010/13/32'rn字段B='2010/01/01'rnA从逻辑上是正确的日期,rnB从逻辑上不正确。rn在SQL语句里,相应的判断语句应该怎么写?rn谢谢!!rn
判断是否符合我自己定义的格式问题?
用户输入xxx-xxxx-xxxxxrnrn如果不是这种格式就提示出错vbscript怎么写呢
判断配置文件是否符合特定的规则
配置文件中存在很多行命令,要检验命令这些命令是否符合特定的规则。类似于文本编辑器中检验语法错误,请问是否有合适的开源程序。
JSK-129 判断日期是否符合格式【入门】
判断日期是否符合格式 我们知道一年有12个月,每个月最多有31天,年有平年和闰年之分,本题目要求如果输入一个日期,程序需要判断用户输入的日期是否正确。 输入:用户输入是三个数字,分别表示年,月和日。 例如 2007 10 21 ,表示2007年10月21日,这个输入经过判断是正确的。又例如输入 1993 11 38 ,这个输入经过判断是错误的,因为日期不能超过31天。 输出:程序的输出分为两...
44、判断是否符合指定格式
给定字符串 str,检查其是否符合如下格式 1、XXX-XXX-XXXX 2、其中 X 为 Number 类型  输入例子: matchesPattern('800-555-1212') 输出例子: true function matchesPattern(str) { return/^(\d{3}-){2}\d{4}$/.test(str); } 本题需要注意
如何判断String 是否符合 Decimal 规则
我用的是 VB.net 2003 Decimal.TryParse 应该是不支持的rnrnrn我想判断 字符串 StrTest 是否可以转换成 数值 decTestrnrn如rn If Decimal.TryParse(StrTest) = True Thenrn decTest= Decimal.Round(Decimal.Parse(StrTest), 2)rn Elsern msgboxrn End If
判断是否符合出栈的序列,不能编译!!!
#includern#includern#includern#includernusing namespace std;rnrnint main()rn ifstream in("train.txt");rn int size;rn bool flag=true,isFirst=true;rn stack st;rn for(string s;getline(in,s);)rn if(s=="0") rn cout<>size;rn isFirst=false;rn continue;rn rn for(int last=0,a;sin>>a;)rn for(int p=last+1;p<=a;++p) st.push(a);rn if(last
正则表达式判断是否符合USD格
USD格式: 1、以 $ 开始 2、整数部分,从个位起,满 3 个数字用 , 分隔 3、最高位不能为0 3、如果为小数,则小数部分长度为 2 举个栗子:$1,234,543.98     $23.09   (以下是错误的例子:$6.9  $12,67.987) function isUSD(str) {     var reg = /^\$[1-9]\d{0,2}(\,\
[JS]判断表单数据是否符合格式
[JS]判断表单数据是否符合格式 表单对应HTML标签分别为 username password repassword email 1. 创建register.js 文件,其代码如下 $(function)(){ //用户名判断 function verify_username(){ //定义变量并获取用户的输入username let username = $('#username'...
45、判断是否符合USD格式-JavaScript
给定字符串 str,检查其是否符合美元书写格式 1、以 $ 开始 2、整数部分,从个位起,满 3 个数字用 , 分隔 3、如果为小数,则小数部分长度为 2 4、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3  输入例子: isUSD('$20,933,209.93') 输出例子: true
matlab 判断是否符合正态分布 lillietest
lillietest                    Lilliefors检验 常用语法                   [h,p]=lillietest(X) 说明                    返回值h为假设,只有0和1两种情况,h=0假设符合正态分布,h=1假设不符合正态分布                    返回值p为方差概率,也可以说事情的发生概率,p&amp;...
判断一个字符串是否符合日期格式
那位高手知道在JAVA中有没有那个方法可以直接判断出我传入的字符串是否满足日期格式,一般在JAVA中日期格式是:2002年1月23日,还是1/23/2001或2002-01-23,解决问题一定给分,谢谢!
delphi中怎么判断输入的项是否符合email的格式
rt。rn在线等待。
asp怎么判断一段字符串是否符合js代码
rn[code=VB]rnrndim ssrnss="var dd='123456'"+vbcrlfrnss=ss+"var nn=1"+vbcrlfrnss=ss+"nn++"+vbcrlfrnss=ss+"function hanshu()"+vbcrlfrnss=ss+"return 2"+vbcrlfrnss=ss+""+vbcrlfrnrnrn.....rnrnrn'下面进行判断上面ss变量存为js文件,是不是符合js规范代码rnrn。。。。。。。rnrnrnrn[/code]rnrn请问这样的判断怎么写,比如上面代码少了一个“”或者少了vbcrlf 都会导致错误的rnrn
怎么判断输入的8位字符串是否符合日期格式??
怎么判断输入的8位字符串是否符合日期格式??谢谢~~~
java中如何判断一条信息是否符合指定的规则
规则:[size=18px][b]172L0026385689AB[/b][/size] 前面三位数代表一年中的第几天,是会变的,如172,最大是366。L的位置是固定英文,会变信息总个数不变,只是会变内容。rn例如判断:183L0082385689AB是符合规则的rn信息比较多用什么方法比较快呢,求助!!!
Python脚本运行MonkeyRunner命令
Monkey命令的作用是什么就不解释了,与此有个类似的工具,MonkeyRunner是Android SDK自带的,在Android_sdk\tools目录下.利用该工具可以自己利用Python脚本来编写一些自动化的事情。比如:打开一个APP,并且输入账号,密码登录该APP 一.环境搭建 1.JDK 2.Android SDK 3.Python 二.利用cmd命令直接运行MonkeyRu
Java的概述与基本语法规则
含有Java的基本信息和基本语法,适合开发小白下载学习
命令间逻辑符合
本课程主要通过讲解linux概述、环境部署、基本工具、常用命令、文件操作等,带领大家入门,掌握linux基础。
3:JAVA一些语法规则
1、返回值类型 每个方法在结束时,都会执行return;语句,表示方法结束并返回方法执行的结果。只是我们前面使用的方法设置为void(无返回值),所以这个return语句我们可以省略。 使用返回值: public 返回值的数据类型 方法名(){ //代码... return 结果; } 2、接口:interface java中定义
eclipse使用与java语法规则
eclipse的使用 1、运行点击“三角图标”或右键Run As运行 2、 3、 java语法规范 1、括号要成对出现 2、每句代码应该有分号结束 3、java语法区分大小写 4、一个文件只能写一个带有public的class声明,还必须和文件名一致。 一个文件中不可以有多个带有public的修饰符号 5、名称写的时候不要包含关键字和非法
正则表达式语法规则/正则表达式语法规则
正则表达式语法规则 正则表达式语法规则 正则表达式语法规则
python脚本输入密码判断
代码如下: #!/usr/bin/env python # coding:utf-8 id=0 while 1:     user=raw_input("user:")     password=raw_input("password:")     if user == "user" and password == "123":         print "welcome t