我对Python完全陌生,在Windows和Linux之间切换时,我遇到了一个关于兼容性的奇怪问题。我实现了一个小程序,它实现了一个TCP/IP套接字,它与支持TCP/IP上服务器套接字的设备通信。我的程序在Windows上运行时运行得很好,所以我决定在Linux上测试它,因为最终我想在CRONTAB上运行它,作为一个从服务器获取信息并导出到XML的计划任务。这是我在Linux上编译相同代码时收到的奇怪的编译错误(在Python2.6、2.7和3.1下)python2.7 weatherScript.py
Traceback (most recent call last):
File "weatherScript.py", line 1, in
import socket
File "/media/SWAP/weatherData/socket.py", line 117, in
except socket.error, msg:
AttributeError: 'module' object has no attribute 'error'
相应的代码段是
^{pr2}$
以及try:
comSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(1)
#connecting to weather station
try:
comSocket.connect(())
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(2)
即使删除try-catch,问题仍然存在。我不确定Windows和Linux之间是否存在编译不兼容。有什么帮助吗?在
另一个问题是:我想在CRONTAB下运行python程序,有什么需要修改或包含的东西,以便可以作为“脚本”之类的方式运行它?在
非常感谢你!在