3

我想shutil.copy()将文件复制到另一个目录。我尝试执行以下代码:

copy(open("/home/dizpers/pytest/testfile1.txt", "r"), "/home/dizpers/pytest")

但是python shell向我显示了错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/shutil.py", line 116, in copy
    dst = os.path.join(dst, os.path.basename(src))
  File "/usr/lib/python2.7/posixpath.py", line 112, in basename
    i = p.rfind('/') + 1
AttributeError: 'file' object has no attribute 'rfind'

所以,我明白为什么会出现这个问题。open()我用函数打开文件。而且我认为我也应该打开一个这样的目录。我怎样才能做到这一点?

提前致谢!

4

2 回答 2

5
shutil.copy ("somefile.txt","otherfile.txt")
于 2012-08-08T17:46:50.030 回答
5

shutil.copy接受两个路径,而不是文件对象和路径,您应该只指定路径而不是为第一个参数创建文件对象

如果您需要为第一个参数使用文件对象,则可以使用shutil.copyfileobj,但您也必须为第二个参数使用文件对象。

于 2012-08-08T17:47:16.813 回答