Виртуальная файловая система с FTP - PullRequest
1 голос
/ 24 февраля 2012

Я читал документацию по файловой системе на Python отсюда: http://packages.python.org/fs/filesystems.html

Потратив время на ее прочтение и немного поисков в Google, я не совсем нашел ответ.искал.Мне было интересно, возможно ли это с Python, и я избежал каких-либо проблем с UAC в Windows, если бы вы могли «смонтировать» или отобразить файл, свободный от FTP-сервера в проводнике Windows, для любых других приложений, которые можно прочитать из *. 1004 *

Возможно ли это?Каков наилучший подход для достижения этого?Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012

Проводник Windows имеет встроенную поддержку FTP, инструкции со скриншотами здесь .

  1. Открыть Windows Explorer (Мой компьютер)
  2. Щелкните правой кнопкой мыши в любом месте папки и выберите «Добавить сетевое расположение».
  3. Отображается мастер добавления сетевого подключения. Нажмите Далее.
  4. В мастере выберите «Выбрать пользовательское сетевое расположение» и нажмите «Далее».
  5. Введите имя FTP-сайта с полным FTP: // перед ним, а затем нажмите «Далее» (что-то вроде - например, если ваше доменное имя DOMAIN.NET, полное имя должно выглядеть так:) .
  6. Чтобы использовать имя и пароль, снимите флажок Вход в систему анонимно. Введите имя пользователя учетной записи FTP и нажмите кнопку Далее.
  7. По умолчанию имя ярлыка совпадает с адресом FTP. Если вы хотите присвоить ярлыку другое имя, введите его в поле «Введите имя для этого сетевого расположения». Нажмите Далее.

Вы даже можете использовать его из стандартного диалогового окна «файл». Этого достаточно?

[обновление]

Из любопытства, есть ли поддержка FTPS и / или SFTP? - Андре Карон

@ AndréCaron: я думаю, что WebDAV с SSL поддерживается, но нет встроенной поддержки SFTP или FTPS. Существуют такие расширения, как Swish (с открытым исходным кодом) или Expandrive (платное программное обеспечение).

1 голос
/ 24 февраля 2012

Хотя это и не «файловая система» как таковая, вы можете предоставить Расширение пространства имен Windows Explorer , которое позволит проводнику Windows просматривать любую виртуальную файловую систему.Это используется, например, для просмотра ZIP-архивов.Обратите внимание, что это не обеспечивает настоящий диск файловой системы, поэтому он не позволит вам открыть содержимое этого расширения пространства имен, используя обычные функции файлового ввода-вывода.

Расширения пространства имен пишутся в COM, и это возможно реализовать COM-интерфейсы в Python .

AFAIK, единственные разрешения, которые вам нужны, - это установка расширения пространства имен (COM DLL, плюс регистрация пространства имен).Все остальное выполняется в контексте вошедшего в систему пользователя и не требует специальных разрешений.

1 голос
/ 24 февраля 2012

Это нетривиальный вопрос, и на самом деле не существует такой вещи, как обеспечение функциональности на уровне ОС через некоторые строки магического кода на Python.

Возможным решением для эмуляции вашего намерения может быть созданиелокальный webdav-прокси, который отображается на ftp-сервер.Я знаю, что существует функция для подключения устройства webdav-сети к локальной букве диска, но поскольку последний раз, когда я касался системы Windows, был ... - я даже не помню - я не могу сказать вам, если выможет также напрямую подключить ftp-ресурс.

Я думаю, что поиск решения на уровне python может быть неэффективным в краткосрочной перспективе и даже в среднесрочной / долгосрочной перспективе невозможен без тяжелых переделокна вашей стороне.

...