Я написал небольшую программу, которая широко использует модуль os
, особенно os.walk
, os.remove
и т. Д. Например,
def dump_folder(source, destination):
"""
"""
# uses os.walk, shutil.move
def encrypt_folder(folder, recipient):
"""
"""
# uses os.walk, os.remove
Теперь я хотел бы расширить эту программу для поддержкиSFTP
папок.
Нужно ли монтировать папки локально, чтобы os.*
работал?Например, в Windows я мог бы использовать win32net
и сделать что-то вроде:
try:
win32wnet.WNetAddConnection2(...drive, remote...)
except:
pass
Если я собираюсь использовать такой инструмент, как paramiko
, могу ли я заставить его работать с тем же кодом, не беспокоясьо деталях, которые os.walk
, os.remove
, shutil.move
предоставляет?Если я не могу, тогда мне придется немного переписать программу, а это не то, чего я хочу.
PS: Цель этого вопроса - выяснить, как использовать тот же код для работы с удаленными папками .Такие инструменты, как paramiko
, имеют дело с деталями реализации (например, где находится файл и т. Д.), Поэтому нам придется переписать программу.Идея монтирования удаленного файла локально и возможности использования os
действительно хороша и мощна.