import webbrowser
import vk_api
from os.path import isfile
def start():
fileName = ""
lastSymbols = ""
vk = [] # Массив с API аккаунтов. В каждой функции нужно for item in vk .
fileName = input(PREFIX + Fore.WHITE + 'Введите название файла со списком аккаунтов[accounts.txt]: ')
if not fileName:
fileName = 'accounts.txt'
if len(fileName) < 4:
print(PREFIX + Fore.RED + "Неправильное название файла.")
main()
lastSymbols = fileName[-4] + fileName[-3] + fileName[-2] + fileName[-1]
if lastSymbols != '.txt':
fileName = fileName + ".txt"
if isfile(fileName):
pass
else:
# print(PREFIX + Fore.RED + "Файл должен быть расширения .txt")
error_message("Файл должен быть расширения .txt")
start()
fileName = fileName
print(fileName)
with open(fileName, 'r') as f:
lines = f.readlines()
def main():
start()
if __name__ == '__main__':
init()
main()
Вот собственно часть кода. Проблема вот в чём:
Запускают файл, ввожу рандомный текст(Например: aaaaaaaa), по ясным причинам говорит, что файл не существует. В коде после этого принта идёт start(), то есть рекурсия. И вот, мне нужно опять вводить название файла. Нажимаю enter(по дефолту стоит СУЩЕСТВУЮЩИЙ файл), файл нормально читается - но дальше следует ошибка, что в строчке создания переменной lastSymbols индекс привышает возможный, хотя текст - 'accounts.txt'. Как я понимаю, он берёт данные из старой переменной, которая была при первом заходу, но я не понимаю почему. Как исправить, и почему так происходит?