[Risolto][Python] Ottenere l'ip locale

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
ubuntumate
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1180
Iscrizione: giovedì 28 maggio 2015, 18:18
Distribuzione: Windows 7
Sesso: Maschile
Località: Milano

[Risolto][Python] Ottenere l'ip locale

Messaggio da ubuntumate »

Ciao a tutti!
Ho bisogno di conoscere l'ip locale della macchina in uso .Ho trovato una soluzione che utilizza netifaces,ma ho problemi con questo pacchetto su antiX 15(perché è beta e io sto contribuendo allo sviluppo).Nessun modulo nativo di Python permette ciò? E se usassi Scapy come potrei fare?
Ultima modifica di ubuntumate il venerdì 12 giugno 2015, 12:10, modificato 1 volta in totale.
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
ACM/IEEE Code of ethics.
Avatar utente
Claudio_F
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1463
Iscrizione: lunedì 28 maggio 2012, 18:49
Desktop: Mate/Gnome
Distribuzione: Ubu22.04

Re: [Python] Ottenere l'ip locale

Messaggio da Claudio_F »

Ho bisogno di conoscere l'ip locale della macchina in uso
Forse non ho capito il problema o i suoi vincoli... chiamare 'ifconfig' non va bene?

Codice: Seleziona tutto

import os

with os.popen("ifconfig | grep 'indirizzo inet:'") as fh:
    for line in fh.readlines():
        print(line.rstrip())
Avatar utente
ubuntumate
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1180
Iscrizione: giovedì 28 maggio 2015, 18:18
Distribuzione: Windows 7
Sesso: Maschile
Località: Milano

Re: [Python] Ottenere l'ip locale

Messaggio da ubuntumate »

Prima di tutto grazie per la risposta.
A me serviva ottenere l'ip all'interno del programma in python, non in generale.Per quello so che ci sono ifconfig e il più recente ip.Ho pensato anche io di usare subprocess.call per eseguire ifconfig,ma non sapevo come fare il parsing dell'output.
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
ACM/IEEE Code of ethics.
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: [Python] Ottenere l'ip locale

Messaggio da cortinico »

Hai risolto quindi?
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Gerry Ghetto

Re: [Python] Ottenere l'ip locale

Messaggio da Gerry Ghetto »

Codice: Seleziona tutto

>>> import socket

>>> socket.gethostbyname(socket.getfqdn())
Dipende però da /etc/hosts.

Altra possibile soluzione:

Codice: Seleziona tutto

>>> import socket

>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.connect(("www.ubuntu.com", 80))
>>> print(s.getsockname()[0])
Avatar utente
ubuntumate
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1180
Iscrizione: giovedì 28 maggio 2015, 18:18
Distribuzione: Windows 7
Sesso: Maschile
Località: Milano

Re: [Python] Ottenere l'ip locale

Messaggio da ubuntumate »

Grazie a tutti ragazzi,alla fine ho risoltoe funziona a dovere il programmino.Metto risolto
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
ACM/IEEE Code of ethics.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti