Nel mio programma, molti processi possono provare a creare un file se il file non esiste al momento. Ora voglio assicurarmi che solo uno dei processi sia in grado di creare il file e il resto ottenga un'eccezione se è già stata creata (tipo di implementazione sicura di processo e open safe). Come posso ottenere questo in Python.come creare un file e generare un'eccezione se esiste già
Solo per chiarezza, quello che voglio è che il file viene creato se non esiste. Ma se esiste già, lanciare un'eccezione. E tutto ciò dovrebbe accadere atomicamente.
Questo codice raggiunge la funzionalità desiderata. – Adobri
@naxa, Documentation of Python 3.3+ ['open (..., 'x')'] (https://docs.python.org/3/library/functions.html#open) non ha alcuna 'disponibilità 'informazione; questo di solito significa che supporta tutte le piattaforme. Mentre la documentazione di Python 2.x ['os.fdopen'] (https://docs.python.org/2/library/os.html#os.fdopen) parla della disponibilità: Unix, Windows. – falsetru
@naxa, secondo [la documentazione: costanti flag open()] (https://docs.python.org/2/library/os.html#open-flag-constants): le seguenti costanti sono opzioni per le bandiere parametro alla funzione open(). Possono essere combinati utilizzando l'operatore OR bit a bit |. Alcuni di questi non sono disponibili su tutte le piattaforme. Per le descrizioni sulla loro disponibilità e utilizzo, consultare la pagina di manuale (2) aperta su Unix o MSDN su Windows. – falsetru