Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > время записи файла невпопад


Автор: YahоО 16.11.2022, 23:05
Первая моя функция открывает файл, удаляет строки-дубли и с помощью второй функции записывает обработанный текст в файл с этим же именем, т.е. новый файл вместо прежнего на том же месте.
Все просто и все работает.
Но совершенно непонятно почему в итоге получается, что записаны файлы на диске не в том порядке (сортировка по дате файла в командере показывает картину)
в каком внутри программы идет перечисление файлов подлежащих обработке.
Например в функцию подаются имена файлов в таком порядке:
file1.txt
file2.txt
file3.txt
file4.txt
и ожидается что на диске сначала будет записан  file1.txt, потом file2.txt, и т.д. file3.txt и file4.txt
но на самом деле на диске как то так                   file1.txt, потом file3.txt, и т.д. file2.txt и file4.txt

Все бы ничего, так ведь непонятно же!
Может кто осветит "проблему"? Похоже питон так быстр что сам себя обгоняет )) или если один файл короче предыдущего файла, то он проскакивает вперед, но это абсурд, т.к. это работа не в параллельных потоках, а примитивно последовательно файлы проходят через функцию.

Автор: Oldshelf 17.11.2022, 04:29
А что, если обработка и запись происходят так быстро, что у файлов получается одинаковое время? Или время разное, но файловый менеджер отбрасывает "лишние" данные, например выходящие за секунды.

Автор: YahоО 17.11.2022, 09:53
windows во всем виноват, он же многопоточный, и вот файлы на запись ему поступают правильно, последовательно, и это он мешкает, пока запишет длинный файл то короткий файл его опережает в процессе записи в другом потоке.
Так что питон здесь ни при чем, оказывается. А время записи файлов соответствует не началу записи, а естественно окончанию записи на диск.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)