Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 во всем виноват, он же многопоточный, и вот файлы на запись ему поступают правильно, последовательно, и это он мешкает, пока запишет длинный файл то короткий файл его опережает в процессе записи в другом потоке. Так что питон здесь ни при чем, оказывается. А время записи файлов соответствует не началу записи, а естественно окончанию записи на диск. |