Не понимаю почему выдаёт ошибку
Не могу понять почему ошибка
Ошибка:
Traceback (most recent call last):
...
File "D:\test.py", line 18, in check
write("data\\{}\\score.txt".format(userid), "0")
File "D:\test.py", line 8, in write
with open(file_name, "w") as file:
TypeError: 'str' object cannot be interpreted as an integer
Код:
from os import *
from os.path import *
def write(file_name, value):
with open(file_name, "w") as file:
file.write(str(value))
def check(userid):
if isdir("data\\{}".format(userid)):
return True
makedirs("data\\{}".format(userid))
write("data\\{}\\score.txt".format(userid), "0")
check(123456789)
Ответы (1 шт):
Автор решения: Swizz
→ Ссылка
Проблема в том, что в библиотеке os уже есть функция open, а вы импортируете все функции из неё, поэтому стандартная функция open перезаписывается.
Замените эти строки:
from os import *
from os.path import *
На эту:
import os
И эти
if isdir("data\\{}".format(userid)):
return True
makedirs("data\\{}".format(userid))
На эти:
if os.path.isdir("data\\{}".format(userid)):
return True
os.makedirs("data\\{}".format(userid))