|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
|
Разделить файл на части15.03.2021, 19:18. Показов 5128. Ответов 18
Метки нет (Все метки)
есть файл .txt (строка длиной n >> 1000000)
Нужно написать программу, которая будет делить этот файл на n//200000 файлов. поскольку я далеко в этом деле не профессионал, написал только для известного числа n, не умею работать с созданием переменных в режиме "реального времени". В принципе, код будет применен в практических целях, так что не сильно уступает "ручному" варианту, но очень интересно будет посмотреть на его полностью автоматизированный вариант Заранее спасибо
0
|
|
| 15.03.2021, 19:18 | |
|
Ответы с готовыми решениями:
18
Разделить файл in.wav на четыре части, поменять местами первую часть с третьей, а вторую с четвертой
Разделить матрицу на 4 части |
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||
| 15.03.2021, 20:43 | ||
|
0
|
||
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
||
| 15.03.2021, 20:47 [ТС] | ||
|
Semen-Semenich,
0
|
||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 15.03.2021, 20:55 | |
Сообщение было отмечено alilxxey как решение
РешениеНе по теме: alilxxey, ах ты сатанист)) По теме: а зачем ты вообще делишь файл? Не считывай все содержимое файла в память: читай по 8 * n символов и клади в очередь. Смотришь все вхождения, удаляешь элементы из начала очереди, пока не останется 8 символов, начинаешь новую итерацию.
1
|
|
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
||
| 15.03.2021, 21:10 [ТС] | ||
|
Не по теме: Arsegg, на самом деле делаю уже это не столько для решения задачи, сколько просто чисто ради интереса и развития, не думаю, что мое решение можно как-то сильно усовершенствовать засчет этого на вопрос ответил, надеюсь Добавлено через 34 секунды меня больше привлекает навыки работы с такого типа задачами, а не само деления миллиарда знаков пи на файлики)
0
|
||
| 15.03.2021, 21:15 | |
|
0
|
|
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
|
| 15.03.2021, 21:18 [ТС] | |
|
Добавлено через 1 минуту Arsegg, кстати, вопрос по теме. Когда мы открываем файл (f = open(...)) мы не загоняем его в память полностью - мы загружаем в память только символы из f.read(..)?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 15.03.2021, 21:21 | ||
read(). Кароч, кури документацию: найдешь метод (одноименный), как считывать только несколько символов.
2
|
||
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
|
| 15.03.2021, 22:29 [ТС] | |
|
Arsegg, большое спасибо за ответ
Добавлено через 1 час 6 минут Arsegg, столкнулся с проблемой - как очистить первые n элементов файла, не переводя этот файл в строку? Грубо говоря работаем только в файле, никуда его не перетаскивая
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 16.03.2021, 00:03 | |
|
0
|
|
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
||
| 16.03.2021, 00:06 [ТС] | ||
|
0
|
||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 16.03.2021, 00:10 | |
|
0
|
|
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
||
| 16.03.2021, 00:12 [ТС] | ||
|
Добавлено через 1 минуту это добавляет эффективности в случаях когда искомое число находится не в самом конце, безусловно, но что если оно находится на i = 10^6 ?
0
|
||
|
|
|
| 16.03.2021, 00:53 | |
|
alilxxey,
open в бинарном режиме позволяет управлять курсором позиции считывания через метод seek. НО в бинарном режиме нет никаких строк, только байты. Если же нужно считывать строки - нет никаких способов пропустить n строк так или иначе не считывая их. Но это не страшно, если считывание построчное - в памяти будет ровно одна строка. Но это будет медленно.
1
|
|
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
|
| 16.03.2021, 00:55 [ТС] | |
|
Garry Galler, понял. но весь файл - число пи (оочень много знаков) - и все это одна строка
0
|
|
|
|
|||||||
| 16.03.2021, 00:59 | |||||||
2
|
|||||||
|
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,764
|
||||||
| 16.03.2021, 08:19 | ||||||
|
alilxxey, такая программа уже есть.
0
|
||||||
| 16.03.2021, 09:43 | |
|
0
|
|
|
|
|||||||
| 16.03.2021, 10:30 | |||||||
Сообщение было отмечено alilxxey как решение
Решение
2
|
|||||||
| 16.03.2021, 10:30 | |
|
Помогаю со студенческими работами здесь
19
Разделить 2д вектор на равные части Разделить список на две части Как разделить матрицу на равные части Разделить список на равные части, сохранив порядок Разделить байтовый массив на части и поместить с список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|