• 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 użytkownika __Rudy__ Nowicjusz (170 punkty)
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 użytkownika mokrowski Stary wyjadacz (11,680 punkty)
wybrane 17 lutego przez użytkownika __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 użytkownika __Rudy__ Nowicjusz (170 punkty)
Wielki dzieki właśnie o taką odpowiedź mi chodziło :)

Podobne pytania

0 głosów
3 odpowiedzi 279 wizyt
pytanie zadane 1 maja 2016 w Inne języki przez użytkownika b00ny Mądrala (6,170 punkty)
0 głosów
2 odpowiedzi 91 wizyt
pytanie zadane 2 czerwca 2016 w C i C++ przez użytkownika TheSadSmile Użytkownik (880 punkty)
+1 głos
6 odpowiedzi 4,115 wizyt
pytanie zadane 30 czerwca 2015 w Offtop przez użytkownika k222 Gaduła (3,030 punkty)
...