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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
shell脚本中判断上一条python命令执行情况
shell脚本中判断python命令执行结果 python脚本main.py import sys def main(): try: "执行相关操作" sys.exit(0) except Exception as e: print(e) sys.exit(1) if __name__ == '__main__...
判断输入数据是否符合要求
判断输入数据是否符合要求
java 验证字符串是否满足某种格式
/** * 判断字符串满足指定格式 true 合法 */ public static boolean checkValidity (String str, String regex) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if (m.matches()) { return tr...
Java|字符串 验证字符串是否符合日期格式
Java验证字符串是否符合日期格式 很多时候我们需要验证字符串是否是正确的日期格式,在这里做一个总结 /** * 验证日期格式是否满足要求 * * @param str 需要验证的日期格式 * @param formatString 验证的标准格式,如:(yyyy/MM/dd HH:mm:ss) * @return 返回验证结果 */ public static boolean...
判断是否符合指定格式
给定字符串 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); }
验证一个字符串是否符合正则表达式--matches()函数
public static void main(String[] args) { checkTelNumber(); checkQQ(); } private static void checkQQ() { String QQNumber = "1247832904"; boolean b = QQNumber.matches("[1-9][\\d]{4,9}"); ...
算术表达式的合法性判断与求值(上)
在写一个计算器时遇到了一个问题,就是对字符串表示的算术表达式的合法性判断与求值。下面记录一下我的解决方案。 一、问题描述 问题:给定一个字符串,只包含 '+'、'-'、'*'、'/'、数字、小数点、'(' 、')'。 要求:(1) 判断该算术表达式是否合法; (2) 如果合法,计算该表达式的值。 二、判断表达式的合法性 相信学过《编译原理》的人都知道,利用里面讲的分析方法可以对源代码进行
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); } 本题需要注意
Java日期转换SimpleDateFormat格式大全 和 判断是否为合法的日期时间字符串?
24小时制时间显示: public class Datetime {    public static void main(String args[]){         java.util.Date current=new java.util.Date();           java.text.SimpleDateFormat sdf=new java.text.Si
LL(1)语法分析器
<br /> 【实验目的】 <br />1.  了解 LL(1)语法分析是如何根据语法规则逐一分析词法分析所得到的单<br />词,检查语法错误,即掌握语法分析过程。 <br />2.  掌握 LL(1)语法分析器的设计与调试。 <br />【实验内容】 <br />  文法:E→TE’,E’→+TE’|ε,T→FT’,T’→*FT’|ε,F→(E) | i   <br />针对上述文法,编写一个 LL(1)语法分析程序: <br />1.  输入:诸如 i+i*i  的字符串,以#结束。 <br />2.
Java学习:判断输入日期格式是否满足要求
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Test2 { public static void main(String[] args) { System.out.println(&quot;请输入年月(形如2016-09):&quot;); Sca...
Java语法与是否正数判断
Java语法与是否正数判断 开发工具与关键技术:Myeclipse 10,java语言 作者:清晨 撰写时间:2019.4.17 关键字split(regex) public class ForDemo { public static void main(String[] args) { System.out.println("-----关键字split(,)全部分割----...
java判断一个字符串是否为需要的格式日期格式
Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。
判断输入是否符合规则
输入只能是数字,英文字母和中文// 校验Tag Alias 只能是数字,英文字母和中文 public static boolean isValidTagAndAlias(String s) { Pattern p = Pattern.compile(&quot;^[\u4E00-\u9FA50-9a-zA-Z_!@#$&amp;amp;*+=.|]+$&quot;); Matcher ...
Cron表达式 判断时间是否匹配该表达式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(&quot;yyyy-MM-dd HH:mm:ss&quot;);CronExpression cronExpression = new CronExpression(&quot;* 5 16,6 8 10 ? 2015-2016&quot;);boolean resCron = c...
JS语法规则
1.    注释与C语言一样2.    语句结尾同C一样加分号3.    ECMAScript中的一切都区分大小写4.    标识符的命名:    ·由字母,数字,下划线或美元符号组成    ··不能用数字开头    ···不能用关键字,保留字等作为标识符-----------------------------------------------------------------变量:1.  ...
通过正则表达式 判断给定的字符串是不是符合要求
通过正则表达式 判断给定的字符串是不是符合要求 常用一: // 校验Tag Alias 只能是数字,英文字母和中文 public static boolean isValidTagAndAlias(String s) { Pattern p = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_-]{0,}$"); Matcher m
java验证字符串是否符合json格式
json数据交互时作为校验是否通过,用于后台需要构建json返回前台必备
java判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串
class DateUtil { /** * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * * @author Liang.Wang * @since 02/24/15 * @param str * @return true/false */ public static boolean isValidDate(String str)...
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
判断手机号码是否符合要求
我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下:1、 长度13位;2、 以86的国家码打头;3、 手机号码的每一位都是数字。请实现手机号码合法性判断的函数要求:1) 如果手机号码合法,返回0;2) 如果手机号码长度不合法,返回13) 如果手机号码中包含非数字的字符,返回2;4) 如果手机号码不是以86打头的,返回3;要求实现函数:int s int...
JAVA 判断一个字符串是不是一个合法的日期格式format.setLenient(false);
最近开发公司的项目,一直找不到合适的正则表达式可以判断一个字符串是否可以转成日期,今天发现可以采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常, 具体代码如下: 1 public static boolean isValidDate(String str) { 2 boolean convertSuccess=true;
简单检测输入框内容是否符合要求
<div class="form-group"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-user"></i></span> <input onblur="checkUserName(this);" maxlength="20" id="uname" ty
java判断字符串是否为日期格式
判断字符串是否为日期格式import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 功能:判断字符串是否为日期格式 * * @param str * @return */ public static boolean isDate(String strDate)
正则表达式判断是否符合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}(\,\
检验数据集是否服从正态分布
1.图示法1.p-p图以样本的累积频率作为横坐标,以正太分布计算的响应累积概率作为纵坐标,把样本值表现为执教坐标系中的散点。若数据集服从正太分布,则样本点应围绕第一象限的对角线分布。1.2 QQ图以样本的分位数作为横坐标,以按照正太分布计算的相应分位点作为纵坐标,把样本表现为直角坐标系的散点。若服从正太分布,则样本点应该呈一条围绕第一象限对角线的直角。https://jingyan.baidu.c...
计蒜客-判断日期是否符合格式
我们知道一年有12个月,每个月最多有31天,年有平年和闰年之分,本题目要求如果输入一个日期,程序需要判断用户输入的日期是否正确。 输入   用户输入是三个数字,分别表示年,月和日。 例如 2007 10 21 ,表示2007年10月21日,这个输入经过判断是正确的。又例如输入 1993 11 38 ,这个输入经过判断是错误的,因为日期不能超过31天。 输出   程序的输出分为两种,1或者0
Java作业之判断闰年
1. 编写一个类的方法,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被 4 整除,但不能被 100 整除;能400 整除。Java的输入用到java.util.Scanner;需先引入  用 ?:  运算符    条件运算符是三目运算符,其格式为:     表达式?语句1:语句2; 其中表达式的值是布尔类型,当表达式的值为true时执行语句1,否则执行语句2。要求语句1和语句2 返回的数
Java编程——正则表达式,用一组字符串描述的特殊格式,匹配字符串是否满足格式要求
#字符集和 正则表达式 说明 [abc] a、b、c中任意一个字符 [ ^abc] 出了a、b、c中任意一个字符 [a-z] a、b、c、…、z中任意一个字符 [a-zA-Z0-9] az、AZ、0~9中任意一个字符 [a-z&amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;[^bc]] a~z中除了b和c以外的任意一个字符,其中&amp;amp;amp;amp;amp;amp;amp;amp;
【R语言】迫松分布估计--判断是否符合迫松分布
简述 一道概率论和数理统计的题。 在1秒钟区间内的观测数。迫松分布的期望数是多少?能与之匹配吗? n 观测 0 5267 1 4436 2 1800 3 534 4 111 5+ 21 解 思路 先算均值作为λ\lambdaλ的估计。样本均值为迫松分布的参数的无偏估计。 然后代入迫松分布之中,再逐个计算即可 R语言实现 先简单的看下数据 x = ...
如何检验数据是否服从正态分布
先立个标题,等以后有空慢慢补充!
JAVA 判断一个字符串是不是一个合法的日期格式
转自:http://www.cnblogs.com/xdp-gacl/p/3548307.html 最近开发公司的项目,一直找不到合适的正则表达式可以判断一个字符串是否可以转成日期,今天发现可以采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常, 具体代码如下: 1 public static boolean isValidDate
java中用正则表达式进行判断
1 正则表达式也可以在java中进行判断。首选需要设置正则表达式的匹配模板。通过[和]。在js中是通过/和/。 如:String pattern="[\\w]+"; 这就是设置了正则表达式的匹配。必须是满足\w的。至少是1个。 2 。设置了正则表达式匹配模板之后。就需要进行判断了。通过Pattern类可以进行判断。 如: String pattern="[\\w]+"; Stri
正则表达式判断密码是否符合要求。
通过正则表达式判断密码是否符合格式 密码要求 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt; &amp;lt;script type=&quot;text/javascript&quot;&amp
如何用一个java程序来判断一个xml文件是否符合一个DTD的要求
javax.xml.validation API 使用三个类来验证文档:SchemaFactory、Schema 和 Validator。还大量使用了 TrAX 的 javax.xml.transform.Source 接口来表示 XML 文档。简言之,SchemaFactory 读取模式文档(通常是 XML 文件)并创建 Schema 对象。Schema 创建一个 Validator 对象。最后
poi解析excel验证文件是否符合模板,以及前端提示后端上传验证结果
1.前端使用fileinput插件上传     $(&quot;#file2&quot;).fileinput({         language: 'zh',         uploadUrl: basePath + 'uploadVehicleFile',         maxFileCount: 40, //表示允许同时上传的最大文件个数         maxFileSize: 20480000,  ...
python字符串应用举例:判断是否满足标题格式
python str.index() str.rindex() str.split()
matlab 判断是否符合正态分布 lillietest
lillietest                    Lilliefors检验 常用语法                   [h,p]=lillietest(X) 说明                    返回值h为假设,只有0和1两种情况,h=0假设符合正态分布,h=1假设不符合正态分布                    返回值p为方差概率,也可以说事情的发生概率,p&amp;...
你在Java中用正则表达式判断日期字符串是否正确吗?
用正则表达式判断时间太麻烦?就用SimpleDateFormat就可以了!
Java使用if语句判断数字作为日期是不是合法
public class Day { public static void main(String[] args) { int yy=20180920;//20001329 int y=yy/10000;//year int m=yy/100%100;//month int d=yy%100;//date if...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习python脚本 python脚本教程