Pythont 3.6.5 IndentationError

时间:2018-05-19 10:32:50

标签: python python-3.x

我刚开始用python编写,缩进正在充分利用我。 我有这段代码:

import json

if __name__ == '__main__':
    is_json('test')

def is_json(str):
    try:
        json.loads(str)
    except ValueError, e:
        return False
    return True 

引发:

  

文件“so.py”,第9行       除了ValueError,e:                        ^   SyntaxError:语法无效

我只使用标签。

2 个答案:

答案 0 :(得分:3)

您的代码有两个错误:

  • 首先在except部分

  • 其次是您在底部声明了is_json

如果您在底部声明,则可能会出现NameError: name 'is_json' is not defined错误。

    import json

    def is_json(str):
        try:
            json.loads(str)
        except ValueError as e:
            return False
        return True

    if __name__ == '__main__':
        is_json('test')

答案 1 :(得分:1)

看看以下2点。

(1)Python3对 try-except 语句使用不同的语法进行异常处理。

  

except ValueError, e:替换 except ValueError as e:

     

https://docs.python.org/3/tutorial/errors.html

(2)在if语句之前定义您的函数。函数定义应在使用点(调用)之前可用。

import json

def is_json(str):
    try:
        json.loads(str)
    except ValueError as e:
        return False
    return True 

if __name__ == '__main__':
    print(is_json('test')); # False

感谢。