Python检查字符串中函数代码的语法

2024-10-03 23:21:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找代码来检查代表函数头的字符串在语法上是否正确。在

下面是我的字符串示例:

'''+'def __init__(self,{arg})'.format(arg = ','.join(i for i in someListOranArgPassedIn), )+''':

如果此函数定义为

^{pr2}$

并且违反了语法规则,我可以添加什么来引发异常?在


Tags: 函数字符串代码inselfformat示例for
1条回答
网友
1楼 · 发布于 2024-10-03 23:21:04

使用来自here的函数。在

import ast
def is_valid_python(code):
    try:
        ast.parse(code)
    except SyntaxError:
        return False
    return True

test_args = lambda args: "def init(self, {arg}):\n\tpass".format(arg = ",".join(args))
print is_valid_python(test_args(["a", "b"]))
print is_valid_python(test_args(["", "...a", "", "//b"]))

相关问题 更多 >