Я на 100% новичок в Python. Я сталкиваюсь с этой странной проблемой совместимости при переключении между 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 <module>
import socket
File "/media/SWAP/weatherData/socket.py", line 117, in <module>
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 или нет. Любая помощь?
Другой вопрос: я хочу запустить эту программу на Python под CRONTAB, есть ли что-то, что я должен изменить или включить, чтобы я мог запустить его как «скрипт» или что-то подобное?
Спасибо большое!