Довольно неловкая проблема, хотя я пришел из веб-разработки и редко сталкиваюсь с файлами ввода / вывода.
Я написал простое средство обновления конфигурации для использования на моем общем хостинге.Он просматривает каталог на наличие подкаталогов, а затем записывает строки конфигурации в файл - по одной строке для каждого подкаталога.Проблема в том, что когда он обнаруживает, что есть строки конфигурации, но нет подкаталогов, он должен оставить конфигурацию пустой - что не работает!Приходите сюда с этим, потому что документы не упоминают об этом, и Google тоже не помогает.Его Python 2.6.6 на Debian Lenny.
file = open('path', 'r+')
config = file.read()
## all the code inbetween works fine
## config is .split()-ed, hence the list
if config == ['']:
config = ''
file.write(config)
file.close()
В этом случае файл вообще не изменяется.Самое смешное, заставить его забыть о конфигурации и просто выполнить file.write ('') тоже не очищает файл, но ставит \ n в кажущееся случайным положение строки.