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

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


python

Розбіжності

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

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

Both sides previous revision Попередня ревізія
python [2015/01/13 16:14]
wombat [Ссылки] Матеріали українською
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.txt · В останнє змінено: 2015/01/13 16:16 by wombat