Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    194

    [python] - scrittura su file e lista

    Salve a tutti

    Sono alle (prime) prese con il seguente codice in Python

    In = open('new.txt', 'r')
    Contenuto = In.read()
    parole = Contenuto.split()

    for a in parole:
    print a
    In.close()
    codice che lancio da linea di comando così: python split.py > newfile.txt in modo da avere l'output su un file nuovo.
    Ma se volessi scrivere il nuovo file dall'interno del programma senza segnarlo nella linea di comando, come posso fare?

    Inoltre, posso trasformare il file in una lista, in modo da poterci appliccare la funzione sort()?

    Grazie a chi mi può aiutare

  2. #2
    Ma se volessi scrivere il nuovo file dall'interno del programma senza segnarlo nella linea di comando, come posso fare?
    Crei un nuovo file aperto in scrittura e ci scrivi dentro il contenuto di quello gia aperto in lettura:

    codice:
    f1 = file('input', 'r')
    f2 = file('output', 'w')
    f2.write(f1.read())
    f1.close()
    f2.close()
    Nota che cmq questo non è bellissimo da fare in quanto con f.read() (senza specificare il buffer) leggi tutto il file salvandolo temporaneamente in memoria e se questo è molto grande saturi le risorse.
    La via corretta è leggere il file a pezzi e scrivere nel nuovo file finchè del primo non hai letto tutto:

    codice:
    f1 = file('input', 'r')
    f2 = file('output', 'w')
    while 1:
        chunk = f1.read(65536) # leggi 65536 bytes alla volta
        if not chunk:
            break
        f2.write(chunk)
    f1.close()
    f2.close()
    Inoltre, posso trasformare il file in una lista, in modo da poterci appliccare la funzione sort()?
    Quando esegui "parole = Contenuto.split()" hai gia una lista all'interno della variabile "parole" sulla quale puoi richiamare il metodo sort().

    codice:
    parole = Contenuto.split()
    parole.sort()
    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    194
    Grazie billiejoex

    Ho visto il tuo post, purtroppo in ritardo da quando lo hai scritto.
    Oramai avevo perso ogni speranza che qualcuno mi rispondesse (avevo anche lasciato perdere un pò python).

    Grazie ancora


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.