无法使用shutil从远程计算机复制文件

时间:2012-10-25 01:44:35

标签: python centos samba shared-directory shutil

我需要从远程计算机复制文件。

代码是这样的

import shutil

shutil.copyfile('//XXX.XXX.XXX.XXX/home/Shares Folder/file.txt','/home/file.txt')

该文件的位置是一个共享文件夹,但每次我运行它都会给我这个错误

  

文件“”,第1行,在?

     

文件“usr / lib / python2.4 / shutil.py”,第47行,在copyfile中

     

frsc = open(src,'rb')

     

IOError:[Errno 2]没有这样的文件或目录:   '//XXX.XXX.XXX.XXX/home/Shares Folder / file.txt'

请注意我在当前计算机上运行此脚本,而我要复制的文件位于远程计算机中。我不确定这个细节是否相关,无论如何我都在说。

我100%确定该文件在那里所以我想知道它为什么会给我这样的错误信息。

我正在使用CentOS和python 2.4.3

任何想法?

2 个答案:

答案 0 :(得分:1)

shutil不支持远程文件副本。它仅适用于本地副本。 如果您的两台计算机都是基于UNIX的,那么您可以尝试使用一些模块来运行您可用的传输(SSH/SFTPrsync,whanot)

答案 1 :(得分:1)

您还使用samba和共享文件夹进行了标记 - 如果您尝试通过samba进行复制,则可能需要查看pysmbc或类似的python samba库。 http://pypi.python.org/pypi/pysmbc/甚至有一个通过samba打开和读取文件的例子 - 这是在本地写出内容的一小步。