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

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


python

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
python [2014/09/26 13:10]
wombat Пориньте у Python 3
python [2015/01/13 16:16] (поточний)
wombat [Литература] В глубь языка Python
Рядок 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]]
python.1411737033.txt.bz2 · В останнє змінено: 2014/09/26 13:10 by wombat