Verweigern, einen Teil einer Datei in Python zu lesen

Ich habe eine Textdatei, für die ich zwei Schreibfunktionen verwende: 1) Normal schreiben, 2) Sicheres Schreiben.

Jetzt, wenn ich die Daten aus der Datei lesen möchte, sollte ich nur die mit der Funktion "Normal Write" geschriebenen Daten lesen können und die mit der Funktion "Secure Write" geschriebenen Daten nicht lesen können.

Meine Idee war, ein Wörterbuch für diese mit dem Schlüssel als Flag zu verwenden, um zu überprüfen, ob der Wert mit normalem Schreiben oder sicherem Schreiben geschrieben wurde.

Wie kann ich das in Python machen?

One Solution collect form web for “Verweigern, einen Teil einer Datei in Python zu lesen”

Es ist alles eine Frage, wie sicher Sie Ihre Daten wollen. Die beste Lösung ist die Verschlüsselung oder mehrere Dateien oder beides.

Wenn Sie einfach eine Fahne wollen, die Ihr Programm verwenden kann, um zu sagen, ob Daten in einer Datei normal oder sicher sind, gibt es ein paar Möglichkeiten, wie Sie es tun können.

  • Sie können bei jedem Schreiben entweder einen Header hinzufügen.
  • Sie können jede Zeile mit einem Flag starten, das auf sicheres Niveau hinweist, und dann nur die Zeilen mit dem richtigen Flag lesen.
  • Sie können einen Header für die gesamte Datei, die die Teile der Datei, die sicher sind und diejenigen, die nicht sind.

Hier ist eine Art, wie ich es mit der ersten Option implementieren würde.

normal_data = "this is normal data, nothing special" secure_data = "this is my special secret data!" def write_to_file(data, secure=False): with open("path/to/file", "w") as writer: writer.write("[Secure Flag = %s]\n%s\n[Segment Splitter]\n" % (secure, data)) write_to_file(normal_data) write_to_file(secure_data, True) def read_from_file(secure=False): results = "" with open("path/to/file", "r") as reader: segments = reader.read().split("\n[Segment Splitter]\n") for segment in segments: if "[Secure Flag = %s]" % secure in segment.split("\n", 1)[0]: results += segment.split("\n", 1)[0] return results new_normal_data = read_from_file() new_secure_data = read_from_file(True) 

Das sollte funktionieren Aber es ist nicht der beste Weg, um Ihre Daten zu sichern.

  • C ++ String-Parsing (Python-Stil)
  • Kopieren von einer Textdatei in eine andere mit Python
  • Python-Daten-Textdatei-Programm
  • Wie passe ich ein Wort in einer Textdatei mit Python?
  • Bestimmen Sie die Verschlüsselung von Text in Python
  • Der effizienteste Weg, um die erste Textzeile aus einem Textdokument zu "knabbern", dann in Python wiederherzustellen
  • Python Write to Text File Dictionary Zeigt falsche Informationen an
  • Ist pythonautomatisch parallelisierende IO- und CPU- oder speichergebundene Abschnitte?
  • Wie bekomme ich die Zeilenzahl in Python?
  • Ist es möglich, python IO zu beschleunigen?
  • Wie spalte ich eine riesige Textdatei in Python
  • Python ist die beste Programmiersprache der Welt.