Записать строки текста в заданной позиции в файле в R - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы написать строку в текстовом файле в заданной позиции (i), избегая последовательного чтения.Существует базовая функция WriteLines, но я не знаю, как вставить текст в положение (i), заданное в качестве параметра.

Спасибо

Дейв

1 Ответ

1 голос
/ 28 июня 2019

Это - не связанный с R - принципиально невозможно. Большинство ( все общие) файловые системы не поддерживают вставку или удаление содержимого в середине файла. Единственные поддерживаемые операции - это добавление (или усечение) в конце, а R поддерживает только добавление, но не усечение.

Практически все программное обеспечение решает вашу проблему, читая файл, изменяя его и записывая обратно на диск. Если вы хотите получить фантазию, потому что файл очень большой (по крайней мере, порядка сотен МиБ), вы можете отредактировать файл в потоковом режиме: прочитать часть, отредактировать эту часть, записать ее обратно в новый файл. Промыть и повторить.


Техническое замечание: есть одно исключение из вышеперечисленного с низкоуровневыми файловыми операциями, поскольку файлы хранятся как несмежные «блоки» . Но даже если бы R поддерживал это, это не помогло бы вам, поскольку он не допускает гранулярность на уровне байтов или строк: блоки обычно имеют размер не менее 4 КБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...