我希望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()
函数打开文件。而且我认为我也应该打开一个像这样的目录。我怎么能这样做?
提前致谢!
答案 0 :(得分:5)
shutil.copy ("somefile.txt","otherfile.txt")
答案 1 :(得分:5)
shutil.copy
接收两个路径,而不是文件对象和路径,您应该只指定路径而不是为第一个参数创建文件对象
如果您需要为第一个参数使用文件对象,则可以使用shutil.copyfileobj
,但您也必须为第二个参数使用文件对象。