zoukankan      html  css  js  c++  java
  • Python 读文件:IOError: [Errno 0] Error

    Windows系统下,这种情况发生在读取文件,再写入过程中出现。

    原因是读完文件后python不知道当前文件位置在哪里。

    方法一是:在关闭文件前只做读或者写一种操作。

    方法二是:在写入文件前使用file.seek()函数,指定插入/读取文本的位置

    一点的方法是在写入文件前用fseek(),或者fsetpos()设定插入文本的位置。

    seek(offset[, whence])    

    whence    0:表示当前文件位置在文件开头

           1:表示在上次read后的地方

           2:表示在文件末尾

    offset   偏移量

    在写入/读取文件前加上file.seek(0,  2)

    file = open('test.txt', "r+")

    content = file.read() # 不指定长度,直接读取所有内容
    print(content)

    file.seek(0, 2) # 指定从当前文件中的数据的末尾开始写
    file.write("winter snow") # 开始写的位置有当前的光标位置决定

    file.seek(0) # 指定从头开始读取文件中的数据
    content_1 = file.read() # 不指定长度,直接读取所有内容
    print(content_1)

  • 相关阅读:
    HDU 5795
    HDU5783
    HDU 5791
    VK Cup 2016
    Codeforces Round #357 (Div. 2)
    Educational Codeforces Round 15
    HDU5724
    博弈学习 3
    Spring的多配置文件加载
    spring 核心技术
  • 原文地址:https://www.cnblogs.com/coxiseed/p/9259340.html
Copyright © 2011-2022 走看看