SMB网络Sh上的Python文件复制

2024-04-18 18:14:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于使用Python在网络上复制文件的问题。我最近在工作中为我的部门创建了一个脚本,可以拖放文件,并将它们从源位置(在网络驱动器上)复制和重命名到用户指定的位置(也主要在网络驱动器上,但有时也在用户的桌面上)。我遇到的问题是,脚本随机地将而不是最初输出用户想要的所有文件。如果要制作5份拷贝,有时实际只输出3到4份。如果使用相同的选项再次删除同一个文件,则通常会输出其余的文件。在

因为前后矛盾,这让我很困惑。如果每次都发生这种情况,或者重新删除后,没有自行修复,我会将其记为脚本中的逻辑错误,但这似乎不适用于此,因为它只是一个简单的复制命令。我尝试了以下3个复制命令(分别),它们都随机产生这个结果。在

os.system('echo f | xcopy /f /y "{source}" "{target}"'.format(source=source, target=target))
shutil.copyfile(source, target)
shutil.copy2(source, target)

我觉得这只是我们网络的一个问题,比如脚本发送拷贝命令的速度比网络处理它们的速度要快,但我对网络的了解还不够,不知道这是否可行。那么这个问题是否只是我们的网络设置的问题,或者是否有更好的方法使用Python在网络上同时复制多个文件以确保一致性?根据记录,我们的网络是一个SMB网络共享,文件通常从一个mapdrive复制到另一个(或用户的桌面)。在

这让我抓狂,因为用户一直在抱怨。任何可以提供的建议都会非常有帮助。提前谢谢。在


Tags: 文件用户命令网络脚本sourcetarget选项