Я получил ошибку «IOError: [Errno 0] Error» с этой программой python:
from sys import argv
file = open("test.txt", "a+")
print file.tell() # not at the EOF place, why?
print file.read() # 1
file.write("Some stuff will be written to this file.") # 2
# there r some errs when both 1 & 2
print file.tell()
file.close()
В чем проблема? Эти 2 случая ниже в порядке:
from sys import argv
file = open("test.txt", "a+")
print file.tell() # not at the EOF place, why?
# print file.read() # 1
file.write("Some stuff will be written to this file.") # 2
# there r some errs when both 1 & 2
print file.tell()
file.close()
и:
from sys import argv
file = open("test.txt", "a+")
print file.tell() # not at the EOF place, why?
print file.read() # 1
# file.write("Some stuff will be written to this file.") # 2
# there r some errs when both 1 & 2
print file.tell()
file.close()
все же, почему
print file.tell() # not at the EOF place, why?
не печатает размер файла, является ли «+» режимом добавления? тогда указатель файла должен указывать на EOF?
Я использую Windows 7 и Python 2.7.
from io import open
. Здесь используется новыйopen
из Py3, который ведет себя одинаково везде, где запускается. 24.06.2012from io import open
работает в Py2.7 — он заменяет встроенную функциюopen
более новой (теперь она используется по умолчанию). 24.06.2012