Користувальницькі налаштування

Налаштування сайту


python

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
python [2014/04/01 22:13] – створено wombatpython [2015/01/13 16:16] (поточний) – [Литература] В глубь языка Python wombat
Рядок 1: Рядок 1:
 +===== Приёмы =====
  
 +
 +==== Чтение из архивов ====
 +
 +Для экономии места большие текстовые файлы с данными можно упаковывать в архив, а затем из программы на Питоне считывать нужные файлы прямо из архива. Например, если имеется папка ''data_files'', в которой файлы ''data1.txt'', ''data2.csv'', ''data3.dat'', ... то её можно запаковать в ZIP-архив
 +
 +  zip data_files.zip data_files
 +
 +после чего открывать файлы данных следующим образом((https://docs.python.org/2/library/zipfile.html#zipfile.ZipFile.open)):
 +
 +<code python>
 +data_zipfile = zipfile.ZipFile('data_files.zip','r')
 +data_file = data_zipfile.open('data_files/data1.txt')
 +</code>
 +
 +Узнать, какие файлы содержатся в ZIP-архиве можно так:
 +
 +<code python>
 +data_zipfile.namelist()
 +</code>
 +
 +Далее можно производить считывание, как из обычного файла методами ''read()'', ''readline()'' или ''readlines()''.
 +
 +Аналогично можно создать ''tar.gz'' или ''tar.bz2'' архивы((https://docs.python.org/2/library/tarfile.html#tarfile.TarFile.extractfile)):
 +
 +  tar -cvzf data_files.tar.gz data_files
 +
 +или
 +
 +  tar -cvjf data_files.tar.bz2 data_files
 +
 +и обращаться к файлам в них так:
 +
 +<code python>
 +data_tar = tarfile.open("data_files.tar.gz")
 +data_file = data_tar.extractfile(data_files/data2.csv)
 +</code>
 +
 +или
 +
 +<code python>
 +data_tar = tarfile.open("data_files.tar.bz2")
 +data_file = data_tar.extractfile(data_files/data3.dat)
 +</code>
 +
 +Следует обратить внимание, что при обращении к файлу внутри архива нужно указывать полный путь к файлу внутри архива, ведь в архиве могут храниться каталоги с файлами или вложенными каталогами, и файл может располагаться в каком-либо из них.
 +
 +Чтобы узнать, какие файлы находятся внутри TAR-архива, служит функция:
 +
 +<code python>
 +data_tar.getnames()
 +</code>
 +
 +
 +====== Литература ======
 +
 +[[http://uk.wikibooks.org/wiki/Пориньте_у_Python_3 | Пориньте у Python 3]] - перевод известной книги "Dive into Python 3".
 +
 +[[http://ru.diveintopython.net/toc.html | В глубь языка Python]] (перевод "Dive into Python" для версии 2)
 +
 +====== Ссылки ======
 +
 +[[https://wiki.python.org/moin/UkranianLanguage | Матеріали українською]]
 +
 +https://docs.python.org/3/library/string.html#formatspec
 +
 +http://wombat.org.ua/AByteOfPython/
 +
 +[[http://www.pythontutor.com/ | Визуализация выполнения программы]]
 +
 +[[http://www.pyzo.org/python_vs_matlab.html | Python vs. Matlab]]