Я действительно как то, как я могу легко совместно использовать файлы в сети с помощью SimpleHTTPServer, но я желаю, был опцией как "загрузка весь каталог". Существует ли легкое (один лайнер) способ реализовать это?
Спасибо
Посмотрите на источники, например онлайн здесь . Прямо сейчас, если вы вызываете сервер с URL-адресом, который является каталогом, обслуживается его файл index.html
, или, если он отсутствует, вызывается метод list_directory
. Предположительно, вы хотите вместо этого создать файл zip
с содержимым каталога (я полагаю, рекурсивно) и обслужить его? Очевидно, что нет способа сделать это с помощью однострочного изменения, поскольку вы хотите заменить то, что сейчас является строками 68-80 (в методе send_head
), плюс весь метод list_directory
, строки 98-137 - это уже по крайней мере изменение более чем 50 строк ;-).
Если вы согласны с изменением нескольких десятков строк, а не одной, и описанная мной семантика - это то, что вам нужно, вы, конечно, можете создать требуемый zip-файл как cStringIO.StringIO
объект с классом ZipFile и заполните его os.walk в соответствующем каталоге (при условии, что вы хотите рекурсивно получить все подкаталоги). Но это определенно не будет однострочным ;-).
Не существует единого лайнера, который бы это делал, также что вы подразумеваете под «загрузить весь каталог» в виде tar или zip?
В любом случае вы можете выполнить следующие шаги
Было бы неплохо сделать:)