• 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
46 wizyt
pytanie zadane 3 dni temu 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ź 2 dni temu przez użytkownika mokrowski Bywalec (2,460 punkty)
wybrane 2 dni temu 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 2 dni temu 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 257 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 85 wizyt
pytanie zadane 2 czerwca 2016 w C i C++ przez użytkownika TheSadSmile Użytkownik (880 punkty)
+1 głos
6 odpowiedzi 3,586 wizyt
pytanie zadane 30 czerwca 2015 w Offtop przez użytkownika k222 Bywalec (2,990 punkty)
...