将文件复制到目录

时间:2012-08-08 17:45:19

标签: python python-2.7

我希望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()函数打开文件。而且我认为我也应该打开一个像这样的目录。我怎么能这样做?

提前致谢!

2 个答案:

答案 0 :(得分:5)

shutil.copy ("somefile.txt","otherfile.txt")

答案 1 :(得分:5)

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

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