Создать файл в папке %username%

Пытаюсь создать файл в папке %username%, но получаю ошибку:

FileNotFoundError: [Errno 2] No such file or directory: '%username%\\text.txt' 

Мой код:

import os

text = open(os.path.join("%username%", 'text.txt'), "w")
text.write("dfjkbnjkndskn")

Как правильно сделать поставленную задачу?


Ответы (1 шт):

Автор решения: Стас

username является переменой среды. Вы можете получать доступ к переменным среды с помощью:

os.environ["varabile name"]

Вашу задачу можно решить, например, так:

import os

pathToFile = os.path.join("C:\\Users", os.environ["username"], "file.txt")
with open(pathToFile, "w") as file:
    file.write("File in user directory")
    print(pathToFile)

Или кроссплатформенно:

import os

pathToFile = os.path.join(os.environ["home"], "file.txt")
with open(pathToFile, "w") as file:
    file.write("File in user directory")
    print(pathToFile)

И ещё, username хранит имя пользователя, а не его директорию.

Даже, если бы можно было получить к ней доступ с помощью %username% - вы всё равно не сможете создать файл в директории содержащей только имя пользователя и имя файла.

→ Ссылка