Forum
  
    >> 
    
      Programmazione Python
    
  
    >> 
    
      Scripting
    
  
  >>
  
    il modulo Shelve non funziona correttamente dopo aver compilato il programma con pyinstaller
  
  
  
  
  
  
  
   
  
    
    
    
      
      
  
Pagina: 1
  
Esegui il login per scrivere una risposta.
      
  
      
    Pagina: 1
| 
          
Scritto da dandi98  | 
        
          
 2019-02-07 23:03:50 - il modulo Shelve non funziona correttamente dopo aver compilato il programma con pyinstaller 
  
 | 
      
| 
          
          
             Salve amici, ho realizzato un programmino che memorizza dei valori in un file shelve utilizzando la funzione writeback=True per memorizzare all'istante le nuove informazioni, però mi succede una cosa molto strana.. quando provo il programma da Pycharm funziona tutto benissimo aggiornandomi il database in tempo reale, quando invece compilo il programma in pyinstaller si comporta come se non avessi inserito la dicitura writeback=True e quindi non mi salva le modifiche in tempo reale, e per salvarle devo per forza chiudere il file shelve con il comando shelfFile.close()  e poi riaprirlo "ma questo mi porta a creare un caos nel programma" scombussolandomi un armonia perfetta  
          
          
            
          
          
        PS: utilizzo windows server 2016 come sistema operativo shelfFile = shelve.open('db', writeback=True)
 | 
      |
| 
          
Scritto da dandi98  | 
        
          
 2019-02-07 23:19:05 - Re: il modulo Shelve non funziona correttamente dopo aver compilato il programma con pyinstaller 
  
 | 
      
| 
          
          
             Leggendo la documentazione di shelve ho risolto lanciando il comando  
          
          
            
          
          
        ShelfFile.sync()dopo ogni operazione di salvataggio, però non capisco ancora perché questo non viene fatto in automatico come accade prima di compilare il codice  | 
      |
| 
          
Scritto da RicPol  | 
        
          
 2019-02-08 22:35:10 - Re: il modulo Shelve non funziona correttamente dopo aver compilato il programma con pyinstaller 
  
 | 
      
| 
          
          
             Per sapere se è un comportamento strano di pyinstaller oppure una svista da parte tua, dovresti provare a fare uno script assolutamente minimo (tipo, non più di dieci righe) che usa shelve per leggere/scrivere qualcosa da una risorsa esterna, quindi "compilarlo" con pyinstaller, e vedere se il problema si presenta. Se sì, dovresti provare a sottoporre il baco agli sviluppatori https://github.com/pyinstaller/pyinstaller/wiki/How-to-Report-Bugs
 https://pythoninwindows.blogspot.com/p/i-miei-libri.html : i miei libri
 https://pythoninwindows.blogspot.com : il mio blog  | 
      |
| 
          
Scritto da dandi98  | 
        
          
 2019-02-09 00:15:01 - Re: il modulo Shelve non funziona correttamente dopo aver compilato il programma con pyinstaller 
  
 | 
      
| 
          
          
             grazie per il suggerimento, domani farò così 
          
          
            
          
          
         | 
      
Pagina: 1
Esegui il login per scrivere una risposta.
  