使用python从samba复制目录/子目录中的所有文件

时间:2018-08-14 01:42:41

标签: python ubuntu ubuntu-16.04 samba smb

我正在尝试使用Python脚本从Samba(SMB)连接复制整个目录或目录及其子目录中的所有文件。我知道如何使用以下方法获取单个文件:

conn = SMBConnection('server',
                     'password',
                     'IP',
                     'share',
                     use_ntlm_v2 = True)
assert conn.connect('IP', 139)

x = 'test.txt'

with open(x, 'wb') as fp:
    conn.retrieveFile('shared', '/EC/test/Pytest/Confocal/test.txt', fp)

但是我想实现类似这样的东西:

root = "/home/to/directory/"
path = os.path.join(root, "source")
destination = "/home/to/target/directory/"

for path, subdirs, files in os.walk(root):
    for name in files:
        print (os.path.join(path, name))
        if name.endswith(".nimp"):
            shutil.move(os.path.join(path, name), destination)

获取具有特定类型(即.nimp)的子目录中的所有文件。使用本地目录时,此代码有效,但无法将其实现到SMB连接。 根据{{​​3}},没有命令可以复制整个文件夹。我还想将文件动态保存为SMB连接中的当前名称。有什么建议吗?

或者,我正在考虑复制整个文件夹,然后使用第二段代码复制所有文件,然后再删除复制的文件夹。可能吗?

此外,此网站上没有任何帖子可以解决我的特定问题。

0 个答案:

没有答案