Forum
  
    >> 
    
      Programmazione Python
    
  
    >> 
    
      Scripting
    
  
  >>
  
    Manipolazione files di testo,liste,dizionari - Aiuto per esercizio -
  
  
  
  
  
  
  
   
  
    
    
    
      
      
  
Pagina: 1
  
Esegui il login per scrivere una risposta.
      
  
      
    Pagina: 1
| 
          
Scritto da Valindar  | 
        
          
 2018-01-10 11:22:40 - Manipolazione files di testo,liste,dizionari - Aiuto per esercizio - 
  
 | 
      
| 
          
          
             Salve a tutti,
 
          
          
            
          
          
        sono un neofita ovviamente. Ho trovato questo esercizio su un testo che sto studiando,qualcuno mi aiuta a risolverlo? "Script che indicizza tutti i file di una specifica direcotry fornita da utente. Deve costruire un dizionario in cui le chiavi sono tutte le parole univoche di tutti i file (descritte dall’espressione regolare r"w+" , trattando le parole senza distinguere fra lettere maiuscole e minuscole), e il valore di ogni voce e' una lista di nomi di file che contengono tale parola. Per esempio,se la parola aloha è menzionata nei file early-internet.dat e hawaiian-travel.txt, il dizionario dovrà contenere la voce: {..., 'aloha': ['early-internet.dat', 'hawaiian-travel.txt'],...}." Non so bene come collegare la lista di parole univoche con le chiavi del dizionario ed associare la lista dei files a cui appartengono. Per ora ho fatto questo: for root, dirs, files in os.walk(path): 
    for name in files: 
        # Apro file
        file = open(os.path.join(path,name))
        # Divido il file in una lista di parole
        wordss = re.findall(r"w+",file.read())
        # Elimino dalla lista di parole i duplicati
        wordss = list(set(wordss))
Grazie per qualsiasi suggerimento ;-)  | 
      |
| 
          
Scritto da Valindar  | 
        
          
 2018-01-10 13:50:53 - Re: Manipolazione files di testo,liste,dizionari - Aiuto per esercizio - 
  
 | 
      
| 
          
          
             Posso dire di aver raggiunto questo risultato:
 
          
          
            
          
          
        for root, dirs, files in os.walk(path): 
    for name in files: 
        # Apro file
        file = open(os.path.join(path,name))
        # Divido il file in una lista di parole
        wordss = re.findall(r"\w+",file.read())
        # Elimino dalla lista di parole i duplicati
        wordss = list(set(wordss))
        # Ottengo un dizionario dalla lista parole non duplicare del file
        diz = dict(enumerate(wordss))
        # Creo un dizionario con le keys che corrispondono ai values di diz e con values nome file usato
        for v in diz.values():
            dv=nameAdesso ho n dizionari comporti da chiave=parola_univoca valore=nome_file.
Come faccio ad unire questi N dizionari in un unico dizionario strutturato come spiegato? Cioè con chiave = parola_univoca valore = lista_file_di_appartenenza ? Help  | 
      |
| 
          
Scritto da Daniele aka Palmux ![]()  | 
        
          
 2018-01-10 20:32:04 - Re: Manipolazione files di testo,liste,dizionari - Aiuto per esercizio - 
  
 | 
      
| 
          
          
             Ciao caro, non ho letto tutto con estrema attenzione, sono con lo smartphone (e sono passeggero di un autista folle), ma potresti:
 
          
          
            
          
          
        Unire i dizionari con .update() e poi lavorare all'interno. oppure "Ciclare" tutti i dizionari ed ottenere i dati che ti servono e creare il nuovo dizionario. Ora non posso scrivere codice, se puoi fammi un esempio dei dizionari che hai e di come dovrebbero diventare così ti do un consiglio concreto. Cya  | 
      
Pagina: 1
Esegui il login per scrivere una risposta.
  
