TypeError: must be str, not bytes - Python

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Решил немного улучшить свой код, но мне выдает ошибку - гуглил, но всё безуспешно. Вот сама ошибка: И вот код(в консоли показывает что ошибка на 26 и 61 строке):
Листинг программы
  1. import os
  2. import datetime
  3. data = input('Введите данные:\n')
  4. file = input('Введите имя файла в который будут помещены данные: \n')
  5. expans = input('Введите расширение файла: \n')
  6. inp = input('Вы хотите создать папку или выбрать из уже существующих?: \n')
  7.  
  8. li = [data]#Помещаем введённые данные в список.
  9. now = datetime.datetime.now()
  10. date_li = [now.day, now.month, now.year]
  11. def process():
  12. if inp == 'Создать' or inp == 'создать':
  13. direct = input('Введите "O", если хотите создать папку в другой директории, или "T" - если в этой: ')
  14. if direct == 'O':
  15. other_dir = input('В какой директории вы хотите создать папку?: ')
  16. #Меняем директорию.
  17. change_dir = os.chdir(other_dir)
  18. direc = input('Введите имя папки, в которую будет сохранён ваш файл: \n')
  19. #Создаём папку.
  20. direc = os.mkdir(direc)
  21. #Открываем файл с именем и расширением, которые ввели выше.
  22. f = open(os.path.join(direc, file + '.' + expans), 'a')
  23. #Добавляем дату введения данных.
  24. f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
  25. #Записываем данные
  26. f.write("\nВведённые данные:\n{}\n".format(li[0]))
  27. #Закрываем файл.
  28. f.close()
  29. elif direct == 'T':
  30. directory = input('Введите имя папки, в которую будет сохранён ваш файл: \n')
  31. #Создаём папку.
  32. direc = os.mkdir(directory)
  33. #Открываем файл с именем и расширением, которые ввели выше.
  34. f = open(os.path.join(directory, file + '.' + expans), 'a')
  35. #Добавляем дату введения данных.
  36. f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
  37. #Записываем данные
  38. f.write("\nВведённые данные:\n{}\n".format(li[0]))
  39. #Закрываем файл.
  40. f.close()
  41. else:
  42. print('Введите пожалуйста букву в указанном(верхнем) регистре.')
  43. direction()
  44. elif inp == 'Выбрать' or inp == 'выбрать':
  45. catalog = input('В какую папку вы хотите сохранить файл?: \n')
  46. #Меняем текущую директорию.
  47. direch = os.chdir(catalog)
  48. #Добавляем дату введения данных.
  49. f.write("Дата: {0}.{1}.{2}".format(date_li[0], date_li[1], date_li[2]))
  50. #Открываем файл с именем и расширением, которые ввели выше.
  51. f = open(os.path.join(file + '.' + expans), 'a')
  52. #Записываем данные в файл.
  53. f.write("\nВведённые данные:\n{}\n".format(li[0]))
  54. #Закрываем файл.
  55. f.close()
  56. process()

Решение задачи: «TypeError: must be str, not bytes»

textual
Листинг программы
  1. f = open(os.path.join(os.mkdir(dire), file + '.' + expans), 'a')

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут