TransWikia.com

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

Stack Overflow на русском Asked by ejkn on January 4, 2021

Пытаюсь создать файл в папке %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")

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

One Answer

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% - вы всё равно не сможете создать файл в директории содержащей только имя пользователя и имя файла.

Correct answer by Стас on January 4, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP