TypeError: must be str, not bytes - Python
Формулировка задачи:
Здравствуйте. Решил немного улучшить свой код, но мне выдает ошибку - гуглил, но всё безуспешно.
Вот сама ошибка:
И вот код(в консоли показывает что ошибка на 26 и 61 строке):
Листинг программы
- import os
- import datetime
- data = input('Введите данные:\n')
- file = input('Введите имя файла в который будут помещены данные: \n')
- expans = input('Введите расширение файла: \n')
- inp = input('Вы хотите создать папку или выбрать из уже существующих?: \n')
- li = [data]#Помещаем введённые данные в список.
- now = datetime.datetime.now()
- date_li = [now.day, now.month, now.year]
- def process():
- if inp == 'Создать' or inp == 'создать':
- direct = input('Введите "O", если хотите создать папку в другой директории, или "T" - если в этой: ')
- if direct == 'O':
- other_dir = input('В какой директории вы хотите создать папку?: ')
- #Меняем директорию.
- change_dir = os.chdir(other_dir)
- direc = input('Введите имя папки, в которую будет сохранён ваш файл: \n')
- #Создаём папку.
- direc = os.mkdir(direc)
- #Открываем файл с именем и расширением, которые ввели выше.
- f = open(os.path.join(direc, file + '.' + expans), 'a')
- #Добавляем дату введения данных.
- f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
- #Записываем данные
- f.write("\nВведённые данные:\n{}\n".format(li[0]))
- #Закрываем файл.
- f.close()
- elif direct == 'T':
- directory = input('Введите имя папки, в которую будет сохранён ваш файл: \n')
- #Создаём папку.
- direc = os.mkdir(directory)
- #Открываем файл с именем и расширением, которые ввели выше.
- f = open(os.path.join(directory, file + '.' + expans), 'a')
- #Добавляем дату введения данных.
- f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
- #Записываем данные
- f.write("\nВведённые данные:\n{}\n".format(li[0]))
- #Закрываем файл.
- f.close()
- else:
- print('Введите пожалуйста букву в указанном(верхнем) регистре.')
- direction()
- elif inp == 'Выбрать' or inp == 'выбрать':
- catalog = input('В какую папку вы хотите сохранить файл?: \n')
- #Меняем текущую директорию.
- direch = os.chdir(catalog)
- #Добавляем дату введения данных.
- f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
- #Открываем файл с именем и расширением, которые ввели выше.
- f = open(os.path.join(file + '.' + expans), 'a')
- #Записываем данные в файл.
- f.write("\nВведённые данные:\n{}\n".format(li[0]))
- #Закрываем файл.
- f.close()
- process()
Решение задачи: «TypeError: must be str, not bytes»
textual
Листинг программы
- f = open(os.path.join(os.mkdir(dire), file + '.' + expans), 'a')
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д