我正在尝试使用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连接中的当前名称。有什么建议吗?
或者,我正在考虑复制整个文件夹,然后使用第二段代码复制所有文件,然后再删除复制的文件夹。可能吗?
此外,此网站上没有任何帖子可以解决我的特定问题。