Domanda

ho considerato con tmpnam per impostare il nome del file di output di una QPrinter. Ma la documentazione Python raccomanda di non usarlo.

  

os.tmpnam ()

     

Restituisce un percorso unico che è ragionevole per la creazione di una temporanea   file. ... Le applicazioni sono responsabili   per la corretta creazione e la gestione   I file creati utilizzando i percorsi restituiti da   tmpnam (); nessuna pulizia automatica   fornito.

     
    

Attenzione

         

L'utilizzo di tmpnam () è vulnerabile agli attacchi symlink; considerare l'utilizzo     tmpfile () (sezione oggetto File     Creazione), invece.

  
     

di Windows: Microsoft   implementazione di tmpnam() sempre   crea un nome nella directory principale   dell'unità corrente, e questo è   generalmente una pessima posizione per una temperatura   File (a seconda dei privilegi, si può   anche non essere in grado di aprire un file utilizzando   questo nome).

  • È davvero insicura se la mia domanda non ha bisogno di particolari privilegi?
  • Quali sono le alternative sicure considerando che posso solo impostare un percorso come il nome del file di output del QPrinter?
È stato utile?

Soluzione

Si prega di leggere http://docs.python.org/library/tempfile.html

L'uso che, invece.

Altri suggerimenti

A seconda di come le vostre offerte QPrinter con un file già esistente, è possibile utilizzare QTemporaryFile per creare un file, quindi chiudere il file e mantenere il riferimento all'oggetto QTemporaryFile intorno fino a quando si è fatto con esso. (Questo sarà anche ripulire il file per voi quando si distrugge l'oggetto.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top