come posso scansionare con python una cartella e tutte le sue sottocartelle finchè non finiscono o sono vuote? ho provato un pò ma arrivo ad una scansione limitata, massimo una sottocartella.
come posso scansionare con python una cartella e tutte le sue sottocartelle finchè non finiscono o sono vuote? ho provato un pò ma arrivo ad una scansione limitata, massimo una sottocartella.
os.walk() e os.path.walk() sono fatte apposta
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
le avevo provate (anche se dalla doc non pensavo facessero questo. forse non so leggere la doc), ma non mi funzionano. sbaglio sicuramente io ad usarle.
niente da fare, ottengo un errore perchè mi restituiscono liste. io invece devo, dopo prendo la directory con get.cwd, e guardare se ci sono file, aprirli, e poi passare alle sottocartelle e cosi via. mi fai vedere come posso fare? io ho trovato un codice in rete, un for a tre variabili che itera sull'os.walk. io prendo la variabile dir che è una lista, itero su di lei, poi dentro itero sulla lista dei files e li unisco con join, ma ottengo una lista e quindi un errore.
come posso fare?
mi interesserebbe anche come eliminare i terminatori di linea in un file. mi falsa il risultato cosi. ho provato con alcuni if, ma non li elimina tutti
Prova a far vedere il codice.Originariamente inviato da newlife05
niente da fare, ottengo un errore perchè mi restituiscono liste. io invece devo, dopo prendo la directory con get.cwd, e guardare se ci sono file, aprirli, e poi passare alle sottocartelle e cosi via. mi fai vedere come posso fare? io ho trovato un codice in rete, un for a tre variabili che itera sull'os.walk. io prendo la variabile dir che è una lista, itero su di lei, poi dentro itero sulla lista dei files e li unisco con join, ma ottengo una lista e quindi un errore.
come posso fare?
Difficile capire cosi'.
[quote]mi interesserebbe anche come eliminare i terminatori di linea in un file. mi falsa il risultato cosi. ho provato con alcuni if, ma non li elimina tutti[quote]
Se cicli in questo modo:
...le linee che ottieni sono senza terminatore ('\n' o '\r\n').codice:for line in open('file.ext', 'r'): ...
Alternativamente puoi fare line.strip().
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
grazie per la risposta.
allora, il codice è sulla penna che ho di là. è il codice d'esempio preso dalla documentazione, quello
for root, dirs, files in os.walk(path)
poi io ho printato le variabili e visto che sono liste. siccome devo controllare tutti i file dentro tutte le cartelle e sotto cartelle avevo pensato di usare os.path.join(dirs, files) ma non lo fa perchè sono liste. cosi ho provato a ciclare esternamente le dirs e internamente i files facendo ad ogni ciclo un join(dirs, file) ma niente da fare.
riguardo al file questa cosa non la sapevo, come mai ottengo linee senza terminatore in quel modo? dove le hai lette ste cose?
Essendo liste dovrei annidare un ulteriore ciclo for in cui cicli sui singoli elementi al loro interno.for root, dirs, files in os.walk(path)
poi io ho printato le variabili e visto che sono liste. siccome devo controllare tutti i file dentro tutte le cartelle e sotto cartelle avevo pensato di usare os.path.join(dirs, files) ma non lo fa perchè sono liste
Beh, perchè è cosi e basta direi. =)riguardo al file questa cosa non la sapevo, come mai ottengo linee senza terminatore in quel modo? dove le hai lette ste cose?
L'oggetto tornato da open() può essere utilizzato con il for, che cicla le sue linee.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
è cosi e basta? mi aspettavo una risposta motivata, tipo che è documentata da qualche parte sta cosa. grazie lo stesso comunque.