验证字符串是否包含有效的Python代码

问题描述 投票:0回答:1

我正在尝试检查某些字符串是否包含有效的Python代码,而忽略any上下文。并非在所有情况下都使用ast.parseast.parse,因为:

  • [codeop.compile_command如果遇到不完整的代码(例如codeop.compile_command),则会抛出ast.parse(x)] >>
  • SyntaxError并不涵盖所有代码不完整的情况;它适用于if True:无效as-is
  • 但是有效Python代码前缀的情况(例如,它适用于codeop.compile_command(x),但不适用于x

    是否有解决方法来完成此任务?

我正在尝试检查某个字符串是否包含有效的Python代码,而不考虑任何上下文。并非在所有情况下都使用ast.parse和codeop.compile_command,因为:ast.parse(x)将抛出...

python validation syntax
1个回答
0
投票

正如评论所言,这是无法实现的,因为某些看起来无效的单个字符串可以属于较大的字符串,而该字符串本身就是有效的Python代码。

© www.soinside.com 2019 - 2024. All rights reserved.