python open('file','r+') дает странный результат

После прочтения некоторых сообщений кажется, что можно открыть файл как для чтения, так и для записи в режиме 'r+' или 'w+'. Однако попытки использовать эти режимы всегда дают странные результаты:

  1. Если я использую 'r+', вызываю file.read(), а затем вызываю file.write('str'), возникнет ошибка "IOError: [Errno 0] Error"
  2. Если я использую 'r+', вызову file.write('str'), а затем вызову file.read(), он вернет неожиданное и очень длинное содержимое (похоже на внутренности какого-то объекта)
  3. Если я использую 'w+', вызов file.read() вернет пустую строку

Я пытаюсь открыть файл, прочитать содержимое, изменить его и записать обратно. Сейчас я открываю его с помощью 'r', изменяю содержимое, снова открываю с помощью 'w' и записываю обратно. Это хороший способ сделать это?

Есть пример на http://snipt.org/zglJ0

Я использую windows 7 и python 2.7.2

5
задан Xun Yang 3 February 2012 в 15:44
поделиться