gpt4 book ai didi

python - 在 python 代码中使用 os 模块时处理远程文件夹?

转载 作者:行者123 更新时间:2023-11-28 22:18:03 25 4
gpt4 key购买 nike

我写了一个小程序,广泛使用了os模块,尤其是os.walkos.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 的能力非常好而且强大。

最佳答案

很抱歉让你失望了,但情况确实和你问题中描述的一模一样:

是的,如果您想使用 os.walkos.removeshutil.move,您确实需要挂载远程目录等

如果您使用专门的 SFTP 库,例如 paramiko(或通过 subprocess 模块调用 ssh/sftp),您必须实现 的功能>os.walk 靠你自己。

顺便说一句,如果您决定在paramiko 之上实现您自己的os.walk,您可能希望将该功能贡献回paramiko,因为它也可能对该库的其他用户有帮助。

关于python - 在 python 代码中使用 os 模块时处理远程文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com