Не понимаю почему выдаёт ошибку

Не могу понять почему ошибка

Ошибка:

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))
→ Ссылка