代码之家  ›  专栏  ›  技术社区  ›  Julian

fd.seek()ioerror:[errno 22]参数无效

  •  5
  • Julian  · 技术社区  · 14 年前

    我的python解释器(v2.6.5)在以下代码部分中引发了上述错误:

    fd = open("some_filename", "r")
    fd.seek(-2, os.SEEK_END) #same happens if you exchange the second arg. w/ 2
    data=fd.read(2);
    

    最后一个调用是fd.seek()。

    Traceback (most recent call last):
        File "bot.py", line 250, in <module>
            fd.seek(iterator, os.SEEK_END);
    IOError: [Errno 22] Invalid argument
    

    奇怪的是,只有在执行整个代码时才会发生异常,而不仅仅是文件打开时的特定部分。 在这部分代码的运行时,打开的文件肯定存在,磁盘没有满,变量“迭代器”包含正确的值,就像在第一个代码块中一样。 什么可能是我的错误?

    提前谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   wRAR    14 年前

    lseek(2) :

    埃瓦纳尔

    哪里不是寻道台, 搜索“cur”,搜索“end”;或结果 文件偏移量为负,或者 在一个可以找到的装置的末端。

    所以仔细检查 iterator