Python otevřít nebo vytvořit soubor pomocí doložkou

hlasů
1

Mám následující kód, ale to nebude fungovat, pokud neexistuje soubor:

def log(self, action, data):
    import json
    with open('ReservationsManagerApp/logs/'+data['booking']+'.json', 'r+') as outfile:
        log_data = {
            'timestamp': str(datetime.today()),
            'action': action,
            'data': data
        }
        json.dump(log_data, outfile)

Chci metoda vytvořit soubor v případě, že neexistuje, ale všechny příklady jsem našel nevysvětlují, jak to udělat pomocí withklauzule, že stačí použít try: open. Jak se mohu poučit withdoložku k vytvoření souboru v případě, že neexistuje?

Položena 27/11/2018 v 17:51
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Můžete otevřít soubor v a+režimu (režimu připojení s povolením ke čtení), místo, a to soubor snažit do polohy 0, takže se vytvoří soubor, pokud již neexistuje, ale také umožňuje čtení souboru od začátku:

with open('ReservationsManagerApp/logs/'+data['booking']+'.json', 'a+') as outfile:
    outfile.seek(0)
Odpovězeno 27/11/2018 v 17:57
zdroj uživatelem

hlasů
0

Režim r+je číst + psát, ale není-li třeba vytvořit soubor. Myslím, že budete chtít w+. Pěkný tabulka zde .

Odpovězeno 27/11/2018 v 17:56
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more