`
hongfei_sr
  • 浏览: 30974 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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小程序.

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

 

  • 大小: 12.2 KB
分享到:
评论

相关推荐

    文件操作

    在读写文本文件时,需指定正确的编码以正确处理非英文字符。 7. 文件操作在不同编程语言中的实现: - Python:使用内置的`open()`函数进行文件操作,支持上下文管理器(with语句)以自动关闭文件。 - Java:`java....

    第9章 文件操作.rar

    在IT领域,文件操作是计算机编程中的核心概念之一,它涉及到读取、写入、创建、删除、移动和处理各种类型的文件。本章主要聚焦于这个主题,通过"第9章 文件操作.rar"的压缩包文件,我们可以深入探讨在不同编程语言中...

    使用文件流操作文本文件.docx

    ### 使用文件流操作文本文件 #### 一、引言 文件是数据存储的重要形式,能够长期保存数据并供以后使用。...无论是简单的数据读取还是复杂的文件处理任务,Python 都能提供合适的工具和方法来满足需求。

    Flex文件读取报错示例

    在Flex文件读取方面,遇到报错的情况可能由多种原因引起。报错可能发生在尝试打开、读取或写入文件时。以下是一些Flex文件读取中可能遇到的知识点和相应的解决方案: 1. 文件路径问题: Flex中访问本地文件系统,...

    分享一个简单的python读写文件脚本

    在文件读取部分,使用了`try-except-else`结构来处理可能出现的异常。`try`块中的代码尝试打开文件,如果文件不存在或无法访问,`except IOError, e:`捕获`IOError`异常并打印错误信息。`else`块在没有异常的情况下...

    python判断文件是否存在,不存在就创建一个的实例

    文件读取完成后,通过`f.close()`关闭文件。 3. **捕获异常并创建文件**:如果文件不存在,`open()`函数会抛出`IOError`异常。此时,通过`except`子句捕获该异常,并再次使用`open()`函数以写入模式('w')创建一个...

    python统计文本文件内单词数量的方法

    如果文件无法打开,会抛出`IOError`异常,此时需要捕获并处理这个异常,确保程序不会因为文件问题而崩溃。 接着,为了统计文本中的行数、空行数、句子数和单词数,我们需要初始化一些计数器,例如`lines`, `blank...

    python write无法写入文件的解决方法

    在Python编程过程中,经常需要进行文件读写操作。然而,在实际操作中可能会遇到无法将数据写入文件的情况,这往往会导致程序运行异常或者出现错误。本文将深入探讨导致Python `write` 方法无法写入文件的原因,并...

    两个使用Python脚本操作文件的小示例分享

    6. 打开文件读取:`open()`函数,以读模式`'r'` 7. 读取文件内容:遍历文件对象 8. 错误处理:`try-except-else`结构 在实际应用中,这些基本操作通常会组合成更复杂的文件处理逻辑,如追加内容、读写二进制文件、...

    Python批量转换文件编码格式

    - **文件操作**:使用`codecs.open()`方法读取和写入文件,它支持多种编码格式,包括GBK和UTF-8。 - **异常处理**:针对可能出现的输入/输出错误进行了捕获和处理。 #### 总结 以上三种方法分别适用于不同的Python...

    Python实现拷贝多个文件到同一目录的方法

    # 打开并读取参数文件 try: with open(par_file, 'r') as file: for line in file: file_lst.append(line.strip()) # 去除换行符等多余字符 except IOError as err: print('File error:', str(err)) exit(-1) ...

    PyPI 官网下载 | PyAudio-0.2.11-cp35-cp35m-win_amd64.whl

    3. **数据读写**:PyAudio允许开发者读取和写入音频数据,这可以通过`read()`和`write()`方法实现。数据通常是以字节或数组形式处理。 4. **控制流**:可以调整流的缓冲区大小,暂停和恢复流,以及检查当前状态。 ...

    Python使用文件锁实现进程间同步功能【基于fcntl模块】

    `fcntl`是Linux系统中用于文件描述符操作的核心库之一,它提供了包括文件锁在内的多种高级文件控制功能。在Python中,通过`fcntl`模块可以方便地调用这些系统级别的API,从而实现对文件的高级控制。 #### 文件锁的...

    python参考手册

    - **文件I/O模块**:如`io`和`os`模块,用于处理文件的读写操作。 - **网络通信模块**:如`socket`和`http`模块,用于构建网络应用程序。 - **数据处理模块**:如`json`和`pickle`模块,用于数据序列化和反序列化。 ...

    Python实现把回车符\r\n转换成\n

    函数首先打开文件,并以二进制模式读取,因为文本模式下,Python会自动处理换行符,而在二进制模式下,我们可以直接访问原始字节,进行替换操作。然后,创建一个临时文件,逐块读取原文件内容,替换换行符,再写入到...

    python基础学习资料

    8. **文件操作**:Python提供了丰富的文件操作函数,可以进行文件的读写、追加、复制、移动等操作。理解文件对象和缓冲的概念,以及使用with语句管理文件资源,是进行数据持久化存储的基础。 9. **单元测试**:学习...

    A Byte Of Python

    - **文件操作**:打开、读取、写入文件的基本操作。 - **异常处理**:使用try-except语句捕获并处理文件操作过程中的异常。 11. **异常处理** - **常见异常类型**:如IOError、TypeError等。 - **异常处理机制**...

    简明_Python_教程(粗体)

    - **文件操作**: 打开 (`open`), 写入 (`write`), 读取 (`read`)。 - **异常处理**: 使用 `try...except` 结构捕获并处理异常。 #### 13. 异常处理 - **异常类型**: 如 `IOError`, `ValueError` 等。 - **抛出异常*...

    python tab 自动补全

    Readline 是一个用于读取键盘输入的库,支持历史记录、编辑等功能。它通常被用于实现 Tab 自动补全。为了在 x64 系统上安装 Readline,可以按照以下步骤操作: 1. **安装 Readline**: ```bash python -m pip ...

    Python错误提示:[Errno 24] Too many open files的分析与解决

    - 分析代码逻辑,看是否有可能减少同时打开的文件数量,例如通过批处理或优化数据读取策略。 总结来说,“[Errno 24] Too many open files”是由于系统限制和程序设计不当导致的。通过合理调整系统限制和优化代码,...

Global site tag (gtag.js) - Google Analytics