The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Не работает цикл while в python, !*! Alexadm, 23-Окт-13, 19:28  [смотреть все]
Добрый день, почему то не работает бесконечный цикл while true в pyton. Может кто нибудь подскажет в чем дело...Заранее спасибо... Скрипт приведен ниже:

#!/usr/bin/python

#

import random
import subprocess

#interfeces = raw_input('input interfeces => ')


def random_mac_adress():

        while True:
                mac = [ 0x00, 0x16, 0x3e,
                        random.randint(0x00, 0x7f),
                        random.randint(0x00, 0xff),
                        random.randint(0x00, 0xff) ]

                return ':'.join(map(lambda x: "x" % x, mac))

m = random_mac_adress()

""" Change mac adress """

change_mac_address1 = subprocess.call('ifconfig eth1 down', shell=True)
change_mac_address2 = subprocess.call('ifconfig eth1 hw ether {param1}'.format(param1=m), shell=True)
change_mac_address3 = subprocess.call('ifconfig eth1 up', shell=True)

print change_mac_address1
print change_mac_address2
print change_mac_address3

""" ping broadcast"""

ping_ip = subprocess.call('ping -c 1 127.0.0.1', shell=True)

"""ping_ip = subprocess.call('ping -q -c 1 -I eth1 127.0.0.1', shell=True)"""

print ping_ip


  • Не работает цикл while в python, !*! zoonman, 19:31 , 24-Окт-13 (1) –1
  • Не работает цикл while в python, !*! mrrrr, 01:37 , 26-Окт-13 (2)
    Потому что ты его break'нул return'ом, если я правильно понял вопрос.

  • Не работает цикл while в python, !*! caufman, 12:27 , 31-Янв-14 (3)
    А как ты хочешь получать данные в переменную от зацикленной функции? у тебя получение расчета прописано 1 раз в строке m = random_mac_adress(). Не логичнее ли while True ставить на присвоение этого значения и дальнейшую его обработку, нежели в самой функции? например так:

    def random_mac_adress():

            mac = [ 0x00, 0x16, 0x3e,
                    random.randint(0x00, 0x7f),
                    random.randint(0x00, 0xff),
                    random.randint(0x00, 0xff) ]

            return ':'.join(map(lambda x: "x" % x, mac))

    while True:
            m = random_mac_adress()
            ...

    >[оверквотинг удален]
    > change_mac_address2 = subprocess.call('ifconfig eth1 hw ether {param1}'.format(param1=m),
    > shell=True)
    > change_mac_address3 = subprocess.call('ifconfig eth1 up', shell=True)
    > print change_mac_address1
    > print change_mac_address2
    > print change_mac_address3
    > """ ping broadcast"""
    > ping_ip = subprocess.call('ping -c 1 127.0.0.1', shell=True)
    > """ping_ip = subprocess.call('ping -q -c 1 -I eth1 127.0.0.1', shell=True)"""
    > print ping_ip




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру