我是Python的100%新手我在Windows和Linux之间切换时遇到了关于兼容性的奇怪问题。我实现了一个小程序,该程序实现了一个TCP / IP套接字,该套接字与支持基于TCP / IP的服务器套接字的设备进行通信。我的程序在Windows上运行时工作正常,所以我决定在Linux上测试它,因为最终我想在CRONTAB上运行它作为从服务器获取信息并导出到XML的计划任务。这是我在尝试在Linux上编译相同的代码时收到的奇怪的编译错误(在python 2.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'相应的代码段将是
import socket
import sys
import re
from time import sleep
from xml.dom.minidom import Document和
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程序,是否有任何我应该更改或包含的内容,以便我可以将它作为“脚本”或类似内容运行?
非常感谢!