Это быстрая проблема у меня с Python. Это моя проблема здесь: я пытаюсь внедрить TXT-файл в другой TXT-файл в определенной строке. Вот что я попробовал:
# Modify TXT File
with open("avengers.txt", "w") as file1, open("guardians.txt", 'r') as file2:
for line in file1:
print line
if line == 'Blackwidow':
for line2 in file2:
file1.write(line2)
Но это дает мне что-то странное (много строк разрыва)
Avengers.txt
This is the avengers
List of the characters :
Captain America
Iron Man
Hulk
Hawkeye
Blackwidow
The story is great
About about the movies :
....
....
Guardians.txt
Groot
Rocket
Star Lord
Gamora
Drax
----- РЕЗУЛЬТАТ ----
Я просто хочу:
Avengers.txt
This is the avengers
List of the characters :
Captain America
Iron Man
Hulk
Hawkeye
Blackwidow
Groot <---------------- Insert text here
Rocket
Star Lord
Gamora
Drax
The story is great
About about the movies :
....
....
Большое спасибо за Вашу помощь
2 ответа
Используя метод readlines, вы можете превратить текст в объект списка. Затем найдите индекс строки, поместите после нее текст:
with open("avengers.txt", "r+") as file1, open("guardians.txt", 'r') as file2:
file_new = file1.readlines()
file1.seek(0)
bw_index = file_new.index('Blackwidow\n')
file_new = file_new[:bw_index+1] + file2.readlines() + file_new[bw_index+1 :]
file1.write(''.join(file_new))
with open("avengers.txt", "r+") as f1, open("guardians.txt") as f2:
line = f1.readline()
while line:
if line.startswith("Blackwidow"):
offset = f1.tell()
rest_of_file = f1.readlines()
f1.seek(offset)
f1.writelines(f2.readlines())
f1.writelines(rest_of_file)
break
line = f1.readline()
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.