项目场景:
运行python文件
环境:python3
问题描述
运行以下脚本报错:
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
.......具体代码部分.....
执行时报出如下错误:
/home/spark/spark_noetic/src/spark_app/spark_vision/face_detector/script/facedetect.py: line 14: syntax error near unexpected token `(' /home/spark/spark_noetic/src/spark_app/spark_vision/face_detector/script/facedetect.py: line 14: `class Facedetect():'
原因分析&解决方案:
一开始还以为是我的语法有问题,但是实际更改过后还是不行,然后我将#!/usr/bin/env python3 # -*- coding: utf-8 -*-更改顺序后,程序就能执行了。。。。
更改后如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
.....代码部分....
问了一嘴gpt,他是这样回复的:
通常情况下,
#!/usr/bin/env python3
应该位于文件的第一行,而# -*- coding: utf-8 -*-
应该紧随其后。这是因为#!/usr/bin/env python3
是用来指定脚本的解释器,而# -*- coding: utf-8 -*-
则用于指定脚本的字符编码。按照这个顺序排列可以确保正确解释脚本并使用正确的字符编码。当然,这两行的顺序可以互换,但是一般约定俗成地按照上述顺序编写。
好吧。