Forum >> Programmazione Python >> Files e Directory >> Problemi con lo "spazio" nel nome di una directory

Pagina: 1

Ciao a tutti, mi scuso in anticipo se so sto per fare una domanda banale, ho provato a cercare la risposta al mio dubbio nel forum ma non sono stato in grado di trovarla; è inutile dirvi che sono alle primissime armi :embarrassed:



Avrei una curiosità personale riguardo ad un problema con il quale mi sono imbattuto: sto creando una funzione all'interno di uno script che in sostanza lancia un eseguibile in abiente WIndows ( si tratta de mergecap.exe usato per unire più tracciati presi con Wireshark creando un unico file).




La funzione è questa:


def Wireshark_merge ():

    mergecap = "c:\\Program Files\\Wireshark\\mergecap.exe -w" + File_merged3

    system (mergecap)

    return ()






Una volta richiamata all'interno dello script però ricevo questo errore:

'c:\Program' is not recognized as an internal or external command,operable program or batch file




Immagino che lo spazio tra Program e Files sia la causa del problema nel momento in cui viene mandato in esecuzione

system (mergecap)

avreste mica un'idea su come evitare questo inconveniente?




Io credo di aver trovato una scappatoia, ma mi sarebbe piaciuto sapere se ci fosse un modo più pulito ed elegante per risolvere la questione che mi potrebbe venire utile in futuro; questa è la mia soluzione:




def Wireshark_merge ():

    Wireshark_path = "c:\\Program Files\\Wireshark\\"                     #Definizione path per mergecap.exe

    chdir(Wireshark_path)

    mergecap = ".\\mergecap.exe -w" + File_merged3

    system (mergecap)

    return () 


Grazie a chiunque voglia rispondermi ;)
Come sai, se la path contiene uno spazio è obbligatorio che sia chiusa tra virgolette. E sai anche che le stringhe python possono contenere virgolette, se le delimiti con gli apici.


Inoltre, non usare "system" per fare queste cose. Ma nel 2019 ci sono ancora in giro "guide" e "tutorial" che consigliano queste cose? Usa subprocess e vivi felice.

Grazie 1000 x la dritta su subprocess, ci studierò sopra ;)


Pagina: 1



Esegui il login per scrivere una risposta.