我正在尝试使用以下代码复制Python脚本中的文件:
inf,outf = open(ifn,"r"), open(ofn,"w")
outf.write(inf.read())
inf.close()
outf.close()
Run Code Online (Sandbox Code Playgroud)
这完全适用于unedr OSX(以及我怀疑的其他UNIX版本)但在Windows下失败.基本上,read()调用返回的字节数远远少于实际文件大小(长度约为10KB),因此会导致写入截断输出文件.
read()方法的描述说"如果size参数是否定的或省略,则读取所有数据直到达到EOF",所以我希望上面的代码可以在任何环境下工作,让Python屏蔽我的代码来避免操作系统的怪癖.
那么,有什么意义呢?现在,我使用shutil.copyfile,这符合我的需要,它的工作原理.我正在使用Python 2.6.5
谢谢你们.