Python öffnen oder erstellen Datei mit Klausel

stimmen
1

Ich habe den folgenden Code, aber es funktioniert nicht, wenn die Datei nicht existiert:

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)

Ich möchte , dass die Methode , um die Datei zu erstellen , wenn es nicht vorhanden ist , aber alle Beispiele , die ich gefunden habe nicht erklären , wie es zu tun mit withKlausel, verwenden sie nur try: open. Wie kann ich anweisen withKlausel , um die Datei zu erstellen , wenn es nicht existiert?

Veröffentlicht am 27/11/2018 um 17:51
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Der Modus r+wird lesen + schreiben, aber die Datei nicht erstellen , wenn nötig. Ich glaube , Sie wollen w+. Nizza Tisch hier .

Beantwortet am 27/11/2018 um 17:56
quelle vom benutzer

stimmen
0

Sie können die Datei in öffnen a+Modus (anhängen Modus mit der Berechtigung zum Lesen) statt, und tun eine Datei 0 versuchen so zu positionieren , dass er die Datei erstellt , wenn es nicht bereits vorhanden ist , sondern ermöglicht auch die Datei von Anfang an zu lesen:

with open('ReservationsManagerApp/logs/'+data['booking']+'.json', 'a+') as outfile:
    outfile.seek(0)
Beantwortet am 27/11/2018 um 17:57
quelle vom benutzer

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