由于python3与python2的语法有许多不同,在平时调试程序时,两种python版本都会遇到,所以在系统上同时部署了两种版本的python。
一般来说,在test.py文件的开头会加入
#!/usr/bin/python
在运行脚本时,
- 如果用 python test.py 来运行,那么会使用python2.7来解释该脚本;
- 如果使用python3 test.py 来运行,那么会使用python3来解释该脚本;
- 如果要用 ./test.py,系统则会使用文件头部指定的解释器来解释该脚本。
本次遇到的bug产生的原因就来源于此,zabbix使用的接口部分使用的是python3编写的,程序员A 在编写脚本时,开头写入的是 #!/usr/bin/python,于是将头部定义的解释器换为 #!/usr/bin/python3,问题解决。