Tomsk Sysadmins Forum
September 06, 2010, 01:01:17
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
News
: На форуме появился новый раздел
Барахолка
Home
Help
Search
Login
Register
Tomsk Sysadmins Forum
>
Unix
>
Программирование
>
вопрос по phyton
Pages: [
1
]
« previous
next »
Print
Author
Topic: вопрос по phyton (Read 844 times)
Maikl
Newbie
Karma: +0/-0
Offline
Posts: 37
вопрос по phyton
«
on:
May 05, 2010, 14:43:07 »
помогите запустить такой скрипт
import os
import re
import time
import sys
import telnetlib
from threading import Thread
class testit(Thread):
def __init__ (self,ip):
Thread.__init__(self)
self.ip = ip
self.status = -1
def run(self):
pingaling = os.popen("ping -q -c2 "+self.ip,"r")
while 1:
line = pingaling.readline()
if not line: break
igot = re.findall(testit.lifeline,line)
if igot:
self.status = int(igot[0])
if self.status == 0:
tn = telnetlib.Telnet(HOST)
tn.read_until("BCM96338 ADSL Router")
tn.read_until("Login:")
tn.write(user + "\n")
tn.read_until("Password: ")
tn.write(password + "\n")
time.sleep(5)
#tn.write("ifconfig ppp_0_1_32_1\n")
tn.write(«reboot\n»)
time.sleep(5)
tn.write(«logout\n»)
time.sleep(60)
testit.lifeline = re.compile(r"(\d) received")
ip = "213.180.204.8"
HOST = "192.168.168.1"
user = "user"
password = "password"
current = testit(ip)
current.start()
выдаёт ошибку NameError: name 'testit' is not defined
«
Last Edit: May 05, 2010, 17:25:36 by Maikl
»
Logged
deepwalker
Hero Member
Karma: +2/-1
Offline
Posts: 699
Re: вопрос по phyton
«
Reply #1 on:
May 05, 2010, 16:01:38 »
Нет, он выдает другую ошибку:
Code:
File "shit.py", line 20
self.status = int(igot[])
^
SyntaxError: invalid syntax
И прочтите pep-8, смотреть страшно ж. Класс именуется с прописными, пробел после `,` и тп.
Logged
Maikl
Newbie
Karma: +0/-0
Offline
Posts: 37
Re: вопрос по phyton
«
Reply #2 on:
May 05, 2010, 17:19:08 »
но у меня выдает именно такую ошибку, кстати код не мой и синтаксические ошибки исправлены просто мне необходимо ребутить модем при пропадании пинга до определенного узла, наткнулся на этот скрипт, может в системе чего-то не хватает ?
«
Last Edit: May 05, 2010, 17:26:09 by Maikl
»
Logged
deepwalker
Hero Member
Karma: +2/-1
Offline
Posts: 699
Re: вопрос по phyton
«
Reply #3 on:
May 05, 2010, 17:29:02 »
Киньте актуальный скрипт на paste, тут парсер лох его козявит.
Logged
Maikl
Newbie
Karma: +0/-0
Offline
Posts: 37
Re: вопрос по phyton
«
Reply #4 on:
May 05, 2010, 17:32:14 »
я код подправил у меня он выглядит именно так
Logged
deepwalker
Hero Member
Karma: +2/-1
Offline
Posts: 699
Re: вопрос по phyton
«
Reply #5 on:
May 05, 2010, 18:14:28 »
Попробуйте так. Сильно не вдавался, но будет запускаться:
Code:
import os
import re
import time
import sys
import telnetlib
from threading import Thread
class TestIt(Thread):
def __init__ (self, ip):
Thread.__init__(self)
self.ip = ip
self.status = -1
self.lifeline = re.compile(r"(\d) received")
def run(self):
pingaling = os.popen("ping -q -c2 " + self.ip, "r")
while 1:
line = pingaling.readline()
if not line:
break
igot = re.findall(self.lifeline, line)
if igot:
self.status = int(igot[0])
if self.status == 0:
tn = telnetlib.Telnet(HOST)
tn.read_until("BCM96338 ADSL Router")
tn.read_until("Login:")
tn.write(user + "\n")
tn.read_until("Password: ")
tn.write(password + "\n")
time.sleep(5)
#tn.write("ifconfig ppp_0_1_32_1\n")
tn.write("reboot\n")
time.sleep(5)
tn.write("logout\n")
time.sleep(60)
ip = "213.180.204.8"
HOST = "192.168.168.1"
user = "user"
password = "password"
current = TestIt(ip)
current.start()
Logged
Maikl
Newbie
Karma: +0/-0
Offline
Posts: 37
Re: вопрос по phyton
«
Reply #6 on:
May 06, 2010, 09:08:25 »
не работает, точнее запускается но ничего не делает, в режиме отладки дает
Code:
/testit(45)<module>()->None
и так по кругу
Logged
Pages: [
1
]
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
Работа
-----------------------------
=> Вакансии
=> Поиск работы
=> Обсуждение
-----------------------------
Разное
-----------------------------
=> Томская сеть, фирмы и т.д.
=> TLUG & SYSADMIN
=> Барахолка
-----------------------------
Unix
-----------------------------
=> Администрирование
=> Программирование
=> Разное
=> Поступления софта
=> Debian
=> SuSE
=> Slackware
-----------------------------
Windows
-----------------------------
=> Администрирование
=> Программирование
=> Разное
-----------------------------
Виртуализация и Kластера
-----------------------------
=> Виртуализация
=> Kластера
-----------------------------
Оборудование
-----------------------------
=> Cisco
=> Другое сетевое оборудование
=> Железо
-----------------------------
ПО
-----------------------------
=> Lotus Notes
-----------------------------
Форумы проектов
-----------------------------
=> windowsupdate.tomsk.ru
=> provider.tomsk.ru
=> update.tomsk.ru
Loading...