Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

if __name__ == '__main__': print 'Только как модуль.'

В основе данного сценария лежит стандартный модуль zipfile. Он предоставляет довольно развитые средства для работы с архивами, но его непосредственное использование потребует каждый раз писать один и тот же код обвязки. Поэтому мы и создаем собственный модуль, в котором опишем нужные нам функции на более высоком уровне.

Класс ZipFile модуля zipfile позволяет работать с архивом, почти как с обычным файлом – читать из него, записывать и т. д. Фигурирующий здесь параметр ZIP_DEFLATED определяет метод компрессии.

В дальнейшем нам понадобятся отсюда: функция read-allzip, которая будет извлекать в текущую папку все файлы из скачанного архива, и writepattzip, которая будет упаковывать в архив все файлы из текущего каталога. Функции соответствуют шаблону.

Из интересного отметим здесь, что шаблоны передаются в виде кортежа, то есть этот параметр должен выглядеть примерно так: «(‘*.db’, ‘*.px’)». Также обратите внимание на синтаксис цикла «for»: он перебирает все значения из списка, заданного после ключевого слова «in».

Модуль работы с FTP myftp

Аналогично в отдельный файл вынесем и функции работы по протоколу FTP. Здесь нам требуется две функции – отправка одного файла по заданному пути и чтение одного файла. Возможность загрузки или отправки сразу нескольких файлов реализовывать не будем: поскольку в основе нашего приложения будет лежать работа с архивами, то целесообразно упаковывать все передаваемое или принимаемое в один файл. Код модуля представлен ниже:

# -*- coding: cp866 -*-

#--------------------------------------------------------

#

# myftp.py: модуль работы с FTP

#

#--------------------------------------------------------

 

# Импорт нужных функций

import os

from ftplib import FTP

from myzip import *

 

VERBOSE = 1

 

# Скачивание файла по FTP:

# передаются следующие параметры:

# fromdir – папка-источник на FTP-сервере

# file – имя скачиваемого файла

# (fromsite, ftpuser, ftppassword) – FTP-сервер и логин/пароль для входа

# todir – локальная папка для сохранения скачанного файла

#

def getftp(fromdir, file, (fromsite, ftpuser, ftppassword), todir):

    olddir = os.getcwd()       # запоминается текущий каталог

    os.chdir(todir)            # переход в папку назначения

    if VERBOSE:


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100