我是100%的Python新手当我在Windows和Linux之间切换时遇到了有关兼容性的奇怪问题。我实现了一个小程序,该程序实现了一个TCP/IP套接字,该套接字与支持基于TCP/IP的服务器套接字的设备进行通信。我的程序在Windows上运行时工作正常,因此我决定在Linux上测试它,因为最终我想在CRONTAB上运行它,作为从服务器获取信息并导出到XML的计划任务。这是试图编译(下蟒蛇2.6,2.7以及3.1)在Windows上执行代码并尝试在Linux上运行的代码的Python编译错误
python2.7 weatherScript.py
Traceback (most recent call last):
File "weatherScript.py", line 1, in <module>
import socket
File "/media/SWAP/weatherData/socket.py", line 117, in <module>
except socket.error, msg:
AttributeError: 'module' object has no attribute 'error'
在Linux上相同的代码时,我收到了奇怪的编译错误对应的代码段会
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程序,是否有任何事情我应该改变或包含,以便我可以将它作为“脚本”或类似的东西运行?
非常感谢!
奇怪的是,这不适用于Python 3.1,你能分享更多关于你的目录结构和模块组织吗?在“weatherScript.py”所在的目录中,什么是“sys.path”(或至少是与“weatherData/socket.py”对应的部分)? – 2011-06-16 20:56:44