ОС Python.makedirs не понимает "~" на моем пути



У меня есть небольшая проблема с ~ на моем пути.



этот пример кода создает некоторые каталоги с именем "~ / some_dir " и не понимаю, что я хотел создать some_dir в моем домашнем каталоге.



my_dir = "~/some_dir"
if not os.path.exists(my_dir):
os.makedirs(my_dir)


обратите внимание, что это на Linux-системе.

481   3  

3 ответов:

вам нужно развернуть Тильду вручную:

my_dir = os.path.expanduser('~/some_dir')

преобразование ~/some_dir to $HOME/some_dir называется расширения и является общей функцией пользовательского интерфейса. Файловая система ничего об этом не знает.

в Python эта функция реализована с помощью os.путь.expanduser:

my_dir = os.path.expanduser("~/some_dir")

Это, вероятно, потому, что Python не является Bash и не следует тем же соглашениям. Вы можете использовать это:

homedir = os.path.expanduser('~')

Comments

    Ничего не найдено.