Используйте
import os
os.mkdir(os.path.expanduser("~/Desktop/downloaded"))
Символ ~
является соглашением оболочки POSIX, которое представляет содержимое переменной среды HOME. Итак, когда вы печатаете в оболочке:
$ mkdir ~/Desktop/downloaded
это то же самое, что и
$ mkdir $HOME/Desktop/downloaded
Попробуйте изменить переменную среды HOME, чтобы проверить, что я говорю.
Поскольку это соглашение о оболочке, это то, что не обрабатывает ни ядро, ни Python, и функция python os.mkdir
является просто оболочкой для системного вызова mkdir(2)
. Для удобства Python предоставляет функцию os.path.expanduser
для замены тильды содержимым HOME env var.
$ HOME=/tmp # it is already exported
$ python
Python 2.6.4 (r264:75706, Mar 2 2010, 00:28:19)
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.expanduser("~/dada")
'/tmp/dada'