Python - Problemas con subprocess

   
Vista:

Problemas con subprocess

Publicado por Alvaro (1 intervención) el 01/10/2017 13:08:03
Buenos días y gracias de antemano.
He estado intentando generar un código con subprocess.call() pero por algún motivo que desconozco cuando lo lanzo desde la shell de raspberry y selecciono una de las opciones que permite el programa, éste termina. Dejo el código a continuación por si alguien detecta el fallo.

Así mismo, aprovecho para comunicar otra duda: ¿es posible lanzar subprocess.call("sudo nano etc/ddclient.conf", shell = True)?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#Importar clases para lanzar comandos de bash
 
import sys
import subprocess
 
 
#Inicia el programa
fin = True #Para terminar el bucle while cuando fin = False
print("")
print("")
print("                 Bienvenido a NAS_PI")
 
#Muestra las opciones del programa
while fin:
    print("")
    print("Seleccione una de las siguientes opciones:")
    print("1: Iniciar Servidor.")
    print("2: Parar Servidor.")
    print("3: Comprobar estado.")
    print("4: Configurar ddclient")
    print("0: Salir")
    print("")
    print("")
 
    #Entrada de datos y procesado
 
    opcion = input("Introduzca la opcion: ")
 
    if opcion == "1":
        proceso = subprocess.call("/etc/init.d/ddclient start", shell = True)
        print(proceso)
        print("NAS_PI conectado")
    elif opcion == "2":
        proceso = subprocess.call("/etc/init.d/ddclient stop", shell = True)
        print(proceso)
    elif opcion == "3":
        proceso = subprocess.call("/etc/init.d/ddclient status", shell = True)
        print(proceso)
    elif opcion == "4":
        proceso = subprocess.call("sudo nano etc/ddclient.conf", shell = True)
        print(proceso)
    else:
        fin = False
sys.exit()


Gracias por vuestra ayuda
error-NAS_PI
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
Revisar política de publicidad