necesito ayuda con un problema en python soy nuevo en esto

Iniciado por VioleTTT56756, 9 Noviembre 2021, 22:36 PM

0 Miembros y 1 Visitante están viendo este tema.

VioleTTT56756

Código (python) [Seleccionar]
import subprocess
import optparse

parser = optparse.OptionParser()

parser.add_option("-i", "--interface", dest = "interface", help="Interface para cambiar Direccion MAC")
parser.add_option("-m", "--mac", dest = "new_mac", help="Nueva Direccion MAC")


(options, arguments) = parser.parse_args()

interface = options.interface
new_mac = options.new_mac

print("Cambiando Direccion Mac para " + interface + " a " + new_mac)

subprocess.call(["sudo ifconfig", interface, "down"])
subprocess.call(["sudo ifconfig", interface, "hw", "ether", new_mac])
subprocess.call(["sudo ifconfig", interface, "up"])


┌──(kali㉿kali)-[~]
└─$ /usr/bin/python /home/kali/Documents/mac-changer.py                                                                                                                                          1 ⨯
Traceback (most recent call last):
 File "/home/kali/Documents/mac-changer.py", line 15, in <module>
   print("Cambiando Direccion Mac para " + interface + " a " + new_mac)
TypeError: cannot concatenate 'str' and 'NoneType' objects

MOD: Etiqueta GeSHi

Drakaris

Cita de: VioleTTT56756 en  9 Noviembre 2021, 22:36 PM
Código (python) [Seleccionar]
import subprocess
import optparse

parser = optparse.OptionParser()

parser.add_option("-i", "--interface", dest = "interface", help="Interface para cambiar Direccion MAC")
parser.add_option("-m", "--mac", dest = "new_mac", help="Nueva Direccion MAC")


(options, arguments) = parser.parse_args()

interface = options.interface
new_mac = options.new_mac

print("Cambiando Direccion Mac para " + interface + " a " + new_mac)

subprocess.call(["sudo ifconfig", interface, "down"])
subprocess.call(["sudo ifconfig", interface, "hw", "ether", new_mac])
subprocess.call(["sudo ifconfig", interface, "up"])


┌──(kali㉿kali)-[~]
└─$ /usr/bin/python /home/kali/Documents/mac-changer.py                                                                                                                                          1 ⨯
Traceback (most recent call last):
  File "/home/kali/Documents/mac-changer.py", line 15, in <module>
    print("Cambiando Direccion Mac para " + interface + " a " + new_mac)
TypeError: cannot concatenate 'str' and 'NoneType' objects

MOD: Etiqueta GeSHi

Cuando quieres concatenar string con una variable, en python debes de convertir de la salida de esta variable en un string. Para poderlo hacer hay varias formas:

metodo con str():
Código (python) [Seleccionar]

print("Cambiando Direccion Mac para " + str(interface) + " a " + str(new_mac))


metodo 2:
Código (python) [Seleccionar]

print(f"Cambiando Direccion Mac para {interface} a {new_mac}")


Además veo que la salida de algunas de las variables devuelve None. Por eso te dice NoneType

Recomendación al postear:
Te recomiendo que al postear detalles lo más posible el problema. No se especifica que tipo de valores (string,int...) debe de retornar interface ni new_mac. Me imagino que es string pero no estoy seguro.
Lo increible, no es lo que ves, sino como es