• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pliki dir, dat i bak

0 głosów
54 wizyt
pytanie zadane 16 lutego w Python, Django przez __Rudy__ Nowicjusz (170 p.)
Cześć.

Przerabiam teraz tworzenie plików tekstowych w pythonie. Przy marynowaniu danych kiedy wchodze w pliki przy dat i dir wyskakują mi takie znaki €X   eq . Natomiast przy plikach bak nazwy zmiennych które podałem w programie i 2 liczby w nawiasach z kosmosu. W internecie to co znalazłem to jest totalny bełkot. Prosze o podkreślam jasne wytłumaczenie mi co to są te pliki i do czego służą.

1 odpowiedź

+1 głos
odpowiedź 17 lutego przez mokrowski Pasjonat (21,580 p.)
wybrane 17 lutego przez __Rudy__
 
Najlepsza

Python stosuje kilka protokołów serializacji (czyli zapisu danych obiekt(u/ów) w strumieniu). Dla wersji języka 2.7*, to będą od 0 do 2 a dla 3.6* 0-4. Domyślna 0, poddaje się otwarciu jako plik tekstowy (czyli w znaku 8-bit nie jest istotny) a wyższe ten bit wykorzystują. Im wyższa wersja protokołu, tym dane bardziej "upchnięte". To że plik jest tekstowy nie oznacza oczywiście że możesz go łatwo zinterpretować otwierając .. notatnikiem. Do tej interpretacji służą metody w pickle. Dlatego pojawiają Ci się w tych plikach takie "buraczki" :-)

Protokoły oraz sposób ich obsługi opisane są tu: https://www.python.org/dev/peps/pep-0307/ oraz tu https://www.python.org/dev/peps/pep-3154/ a implementacja jest w języku C.

Co do shelf to w tle stosuje on jedną z baz danych plikowych z którym Twój python został skompilowany. Rodzaj i znaczenie tych plików opisane jest w danym rodzaju bazy danych. Np. dla *dbm plik *.dat zawiera same dane, *.dir zawiera informacje o kluczach i przesunięciach w pliku *.bak przydaje się do cofnięcia operacji lub zapewnienia atomowości. Ogólnie tych plików nie otwiera się notatnikiem bo są tam dane binarne. Służą do tego metody shelf.

komentarz 17 lutego przez __Rudy__ Nowicjusz (170 p.)
Wielki dzieki właśnie o taką odpowiedź mi chodziło :)

Podobne pytania

0 głosów
3 odpowiedzi 290 wizyt
pytanie zadane 1 maja 2016 w Inne języki przez b00ny Mądrala (6,170 p.)
0 głosów
2 odpowiedzi 94 wizyt
pytanie zadane 2 czerwca 2016 w C i C++ przez TheSadSmile Użytkownik (880 p.)
+1 głos
6 odpowiedzi 4,555 wizyt
...