я уже писал выше, демон и основная программа общаются через временные файлы. В твоем случае, например, демон периодически считывает содержимое файла, созданного основной программой, и пока там что-то есть, он работает, как только пустой файл- открывается замок, os.abort итп. И нужно побеспокоиться, чтоб избежать неувязки с одновременным использованием файла основной программой и демоном ------------- добавлено в 17.33: собственно, простейший замок это while 1 в конце скрипта и в теле цикла считывать файл, задержка ao_sleep какая-то, при условии что файл пуст/отсутствует/итп - break, демон закроется, вместо замка Ao_lock.
Лучше задействовать еще один файл и открывать его в проге для записи. В демоне пытаться открыть для чтения и как только получилось - завершаться. ------------- добавлено в 22.04: Или одним файлом читая уже через мод rb+
f1=open('d:\\1', 'wb+') f2=open('d:\\1', 'rb+') f2.write('123') f1.write('000456') содержимое файла '123456' почему? %) как? О_о как с этим дальше жить? О_О ------------- добавлено в 11.09: f1=open('d:\\1', 'wb+') f2=open('d:\\1', 'rb+') f2.write('123') f1.write('000456') содержимое файла '123456' почему? %) как? О_о как с этим дальше жить? О_О
JOIN_ME, а как это правильно объяснить в этом случае? Вижу, что последний файловый объект главнее предыдущего, пишет поверх, типа как в topwindow? Или что?
Я недавно с таким столкнулся, тоже хотел, чтобы в файл можно было писать и читать одновременно (dimy44 должен знать, мы о похожем говорили не так давно в комментах к одной записи ;), очень обломало. open, кстати, принимает ещё доп. параметром уровень буферизации. Я ставил без неё, ноль эффекта, пришлось отложить идею.
Один байт в буфер пробовал? ------------- добавлено в 23.12: Ноль если проставить, то пишет сразу. ------------- добавлено в 23.13: Щас попробовал. С единицей не пишет пока дескриптор не закрыт, а с нулем сразу пишет.