У меня есть файл, который содержит 50 строк. Как я могу добавить строку «-----» к определенной строке, например, строке 20, используя python/linux?Как добавить строку в определенную строку
2
A
ответ
6
Вы пробовали что-то вроде этого ?:
exp = 20 # the line where text need to be added or exp that calculates it for ex %2
with open(filename, 'r') as f:
lines = f.readlines()
with open(filename, 'w') as f:
for i,line in enumerate(lines):
if i == exp:
f.write('------')
f.write(line)
Если вам нужно отредактировать дифф количество строк, вы можете обновить код выше таким образом:
def update_file(filename, ln):
with open(filename, 'r') as f:
lines = f.readlines()
with open(filename, 'w') as f:
for idx,line in enumerate(lines):
(idx in ln and f.write('------'))
f.write(line)
3
$ head -n 20 input.txt > output.txt
$ echo "---" >> output.txt
$ tail -n 30 input.txt >> output.txt
0
Если файл чтение является большим, и вы не хотите сразу читать весь файл в памяти:
from tempfile import mkstemp
from shutil import move
from os import remove, close
line_number = 20
file_path = "myfile.txt"
fh_r = open(file_path)
fh, abs_path = mkstemp()
fh_w = open(abs_path, 'w')
for i, line in enumerate(fh_r):
if i == line_number - 1:
fh_w.write('-----' + line)
else:
fh_w.write(line)
fh_r.close()
close(fh)
fh_w.close()
remove(file_path)
move(abs_path, file_path)
Примечание: Я использовал ответ Алок here в качестве ссылки.
Смежные вопросы
- 1. Notepad ++ добавить определенную строку в каждую строку
- 2. Как добавить определенную строку в существующую строку в SQLite?
- 3. Как добавить ограниченную строку в определенную строку в Matlab?
- 4. Как добавить определенную пользователем строку в datatable?
- 5. Добавить значение в каждую строку содержит определенную строку
- 6. Добавить строку в начале и конце строки, содержащей определенную строку
- 7. Добавить int в определенную строку python
- 8. Как удалить определенную строку?
- 9. Добавить определенную строку в последний столбец данных
- 10. Добавить текст в определенную текстовую строку
- 11. Добавить стиль в определенную строку textarea
- 12. Удалить строку, содержащую определенную строку
- 13. Как извлечь определенную строку
- 14. Как вынуть определенную строку
- 15. StreamReader - как читать строку, содержащую определенную строку?
- 16. Как заменить определенную строку на другую строку?
- 17. JavaScript: как удалить строку, содержащую определенную строку
- 18. Janus GridEx: Добавить пользовательскую строку и выбрать определенную строку
- 19. Найти строку, содержащую определенную строку в файле
- 20. Найти определенную строку в строку массива
- 21. Добавить строку в строку
- 22. Дублировать определенную строку в Notepad ++
- 23. Как добавить флажок в определенную строку в jtable в java?
- 24. Как добавить данные в определенную строку в excel
- 25. Как добавить определенную строку из datagridview в listbox в VB.net
- 26. Как добавить столбец в определенную строку в Cassandra
- 27. Добавить/добавить данные в определенную строку/ячейку существующего файла CSV
- 28. Рассмотрим определенную строку как переменную
- 29. Как обновить определенную строку DataTable
- 30. Как удалить определенную строку JScrollPane?
раскол над возвратом каретки (\ n) и циклический переход по всем строкам, увеличивающим var. каждые 20 строк, вставьте любую строку, в которой вы нуждаетесь. вы также можете иметь регулярное выражение с 20 возвратом каретки –