linux 文件读取IOError 的处理

 

系统中有个文件读取出现IO 错误,只能读取一部分,无法复制、移动。

学了下python,练习一下文件读写吧,顺便处理一下这个困扰我很久的破文件。

也不能用标准库shutil里的文件copy方法,因为依然会存在 IO 错误。

所以就循环读取,遇到错误就跳过这个字节,简单地绕过了文件那一部分的错误。

 

文件读取错误
  
 

   python 3.2

def copyff():
    f = open('Stack_Mute.mp4', 'rb+')
    ff = open('stack.mp4', 'ab+')
    while True:
        try:
            buf_copy = f.read(1024)
            if buf_copy:
                ff.write(buf_copy)
            else:
                break
        except IOError:
            print(f.seek(1024, 1))
            continue
        
    f.close()
    ff.close()

 

中间显示跳过了几次,最终成功复制,虽然中间少了一点点内容。酷

 

第一个python小程序.

貌似复制出来的文件损坏了,损坏了……哭

 

你可能感兴趣的:(linux,python,IOError)