Я хочу создать каталог (с именем «загружен») в моем рабочем каталоге; не эта рабочая ?:Python: Создание каталогов
import os
os.mkdir('~/Desktop/downloaded/')
Я хочу создать каталог (с именем «загружен») в моем рабочем каталоге; не эта рабочая ?:Python: Создание каталогов
import os
os.mkdir('~/Desktop/downloaded/')
Вы не можете просто использовать ~
Вы должны использовать os.path.expanduser заменить ~
с правильным путем.
Таким образом, вы можете заменить этот код на 'os.mkdir (os.expanduser ('~/Desktop/Downloaded/')) '. – LeafStorm
@Leafstorm 'os.path.expanduser', а не' os.expanduser'. –
Применение
import os
os.mkdir(os.path.expanduser("~/Desktop/downloaded"))
~
символ является POSIX оболочки конвенции, которая представляет собой содержимое переменной домашней обстановке. Таким образом, при вводе в оболочку:
$ mkdir ~/Desktop/downloaded
это то же самое, набрав
$ mkdir $HOME/Desktop/downloaded
Попробуйте изменить переменную HOME среды, чтобы убедиться, что я говорю.
Поскольку это соглашение оболочки, это не то, что не относится ни к ядру, ни к Python, а к функции python os.mkdir
- это просто оболочка вокруг системного вызова ядра mkdir(2)
. В качестве удобства Python предоставляет функцию os.path.expanduser
, чтобы заменить тильду содержимым HOME env var.
$ HOME=/tmp
$ 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'
еще один способ, с помощью os.environ
import os
home=os.environ["HOME"]
path=os.path.join(home,"Desktop","download")
try:
os.mkdir(path)
except IOError,e:
print e
else:
print "Successful"
Если реж Desktop находится на другом языке ????? как найти на рабочем столе на любом языке? – Ernie
Для кода, который выполняет эквивалент «mkdir -p», см. Http://stackoverflow.com/q/600268/319741 –