Возникли проблемы с записью в текстовые файлы. Текстовые файлы перезаписываются / вырезаются

#python #text-files #fwrite #truncate #prepend

#python #текстовые файлы #fwrite #усекать #добавить

Вопрос:

Я хотел бы записывать новые данные в начало моего текстового файла, при этом предыдущие данные сдвигаются вниз на 1 строку каждый раз, когда импортируются новые данные, я хотел бы, чтобы все было организовано, но каждый раз, когда я импортирую что-то, что удаляется.

Код:

 import requests
from bs4 import BeautifulSoup
from datetime import datetime

response = requests.get('https://www.lotteryusa.com/michigan/lucky-4-life/')
soup = BeautifulSoup(response.text, 'html.parser')
date = soup.find(class_='date')
results = soup.find(class_='draw-result list-unstyled list-inline')
d = datetime.strptime(date.time['datetime'], '%Y-%m-%d')
Lucky = (d.strftime("%m%d%Y") (',') results.get_text()[:-20].strip().replace('n',','))
print(Lucky)

with open("webscraper2noteppad  ", "r ") as f:
    file = f.readlines()
    f.seek(0,0)
    f.write(Lucky)
  

Также пытался сделать это

 with open("webscraper2noteppad  ", "r ") as f:
    file = f.read()
    f.seek(0,0)
    f.write(Lucky   'n')
  

но я должен поместить 10 строк между уже существующими данными и новыми данными. Таким образом, это может быть импортировано сверху без удаления.

Комментарии:

1. Можете ли вы показать ожидаемое содержимое файла?

Ответ №1:

Вы можете сначала прочитать содержимое вашего файла, добавить его к новым данным, а затем записать все в файл:

 with open("webscraper2noteppad  ", "r") as f:
    data = f.read()

with open("webscraper2noteppad  ", "w") as f:
    f.write('{}{}{}'.format(lucky, 'n' if data else '', data))
  

Комментарии:

1. Это сработало, но оно добавлено снизу, я хотел бы добавить его. Спасибо за помощь.