Как удалить определенную строку из текстового документа python
У меня есть код который берет ники(одна строка - один ник) из текстового документа, подставляет его к ссылке и проверяет статус страницы. Я столкнулся с проблемой при удалении проверенной строки. Вот код самого чекера:
def a():
try:
print(f'{Fore.WHITE}----------------------------------------\n{Fore.YELLOW} Начинаем проверять ники из базы...\n{Fore.WHITE}----------------------------------------')
with open(r"nicks.txt", "r") as file:
for line in file:
name = line
r = requests.get(f'https://replit.com/@{name}')
if r.status_code == 200:
print(f'{Fore.GREEN}[+] https://replit.com/@{name}/')
valid = f'https://replit.com/@{name}/'
with open(r"valid.txt", "a") as file:
file.write(valid + '\n')
except:
pass
Как сдать так, чтобы после проверки строка удалялась. Все чего я добился, это полная очистка файла.
Ответы (1 шт):
Автор решения: Andy Pavlov
→ Ссылка
Накидал правку. Немного убрал необъявленных переменных. for line in file1 заменил на for name in file1 потом лишний раз ее переопределяете.
Также стоит отметить, что если Вы проверяте только существование страницы, то проще делать запрос не requests.get(), а requests.head()
def a():
try:
print("""----------------------------------------\nНачинаем проверять ники из базы...\n----------------------------------------""")
with open("nicks.txt", "r") as file1, open("valid.txt", "w") as file2:
for name in file1:
if requests.head(f'https://replit.com/@{name}').status_code == 200:
print(f'[+] https://replit.com/@{name}/')
file2.write(f'https://replit.com/@{name}/\n')
except:
pass