gpt4 book ai didi

python - 我想检查输入是否是 python 代码

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:45 25 4
gpt4 key购买 nike

我想在将输入连接到更大的变量以最终执行之前检查输入是否为代码,有什么办法可以做到这一点吗?例如:

import readline
while True:
codelines=[]
code=raw_input(">>> ")
if code.iscode():
codelines.append(code)
elif x=="end":
break
else:
print "Not usable code."
fullcode="\n".join(codelines)
try:
exec fullcode
except Exception, e:
print e

但我知道没有像 .iscode() 这样工作的命令

最佳答案

您可以尝试使用 ast.parse 解析输入:

import ast
while True:
codelines=[]
code=raw_input(">>> ")
try:
ast.parse(code) # Try to parse the string.
except SyntaxError:
if x=="end": # If we get here, the string contains invalid code.
break
else:
print "Not usable code."
else: # Otherwise, the string was valid. So, we add it to the list.
codelines.append(code)

如果字符串不可解析(包含无效的 Python 代码),该函数将引发 SyntaxError

关于python - 我想检查输入是否是 python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26705490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com