Python - Atributos a una función que trabaje con subprocess

 
Vista:
Imágen de perfil de Fran

Atributos a una función que trabaje con subprocess

Publicado por Fran (3 intervenciones) el 22/09/2021 15:49:04
Hola,

Desde mi más ignorancia,

Por lo que se cuando quiero cambiar una Ip en el equipo acudo a este Código por ejemplo:

1
2
3
4
5
6
7
import subprocess
 
staticIP = '''netsh interface ip set address name="Ethernet 4" static 192.168.0.29 255.255.255.0 192.168.0.30'''
 
command1 = staticIP.split()
 
subprocess.run(command1)

Ahora bien si quiero utilizarlo como objeto y acudir a él y modificar la IP cuando crea conveniente, qué y cómo le paso los atributos al objeto:

1
2
3
4
5
6
7
8
9
10
11
12
#  Set ethernet connection with Static IP
 
def static_ip(????????????):
 
             staticIP = ?????????????
 
             command1 = staticIP.split()
 
             subprocess.run(command1)
 
 
static_ip(????????????)

Saludos y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Atributos a una función que trabaje con subprocess

Publicado por tincopasan (1082 intervenciones) el 22/09/2021 18:33:20
hay errores de concepto:
1) en python todo es un objeto.
staticIP = '''netsh interface ip set address name="Ethernet 4" static 192.168.0.29 255.255.255.0 192.168.0.30'''
esta es una cadena y tendrá todos los métodos propios de las cadenas
en cambio:
command1 = staticIP.split()
devolverá una lista y como tal tiene sus propios métodos

2)def static_ip(????????????): esto es la declaración de una función, el objeto lo estarías pasando en el parámetro
por ejemplo:

1
2
3
4
5
6
7
cadena ='''netsh interface ip set address name="Ethernet 4" static 192.168.0.29 255.255.255.0 192.168.0.30'''
 
def static_ip(algo):
    command1 = algo.split()
    subprocess.run(command1)
 
static_ip(cadena)

esto se puede hacer de varias formas, ahora lo hago así, solo a manera instructiva.

3) Si querés que un objeto tenga atributos propios , debes declararlos en una clase, pero por tu pregunta es algo para más adelante de tus estudios.



:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fran

Atributos a una función que trabaje con subprocess

Publicado por Fran (3 intervenciones) el 22/09/2021 18:50:34
Perfecto, es lo que necesitaba en un rato lo testeo.
Si, efectivamente, aunque tengo nociones básicas, en python(y efectivamente es orientado a objetos)y algo de C, yo realmente soy electrónico, me pego más con los circuitos electrónicos....

Con una simple función me vale para realizar lo que pretendo, pero no sabia como trabajaba subprocess, no sabía cuantos atributos (y que tipo) se le pasaban, por lo que veo si le pasó la cadena, como atributo, me la cogerá?
Ya que como comentas luego será convertida en una lista, y redirigida posteriormente a subprocess.run, verdad?

Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Atributos a una función que trabaje con subprocess

Publicado por tincopasan (1082 intervenciones) el 23/09/2021 00:26:41
es que run necesita como parámetro una lista, uso subprocess, pero no tengo idea de como cambiar ip, nunca necesite hacerlo así que en ese tema no puedo ayudarte, más tarde lo veo para saber que hace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar