Python:创建目录

时间:2010-03-19 22:23:12

标签: python

我想在桌面目录中创建一个目录(名为“已下载”);这不起作用吗?:

import os
os.mkdir('~/Desktop/downloaded/')

3 个答案:

答案 0 :(得分:15)

您不能简单地使用~您必须使用os.path.expanduser~替换为正确的路径。

答案 1 :(得分:10)

使用

import os
os.mkdir(os.path.expanduser("~/Desktop/downloaded"))

~字符是POSIX shell约定,表示HOME环境变量的内容。所以,当你输入一个shell时:

$ mkdir ~/Desktop/downloaded

与输入

相同
$ mkdir $HOME/Desktop/downloaded

尝试更改HOME环境变量以验证我说的内容。

由于它是一个shell约定,它既不是内核专门处理的东西,也不是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'

答案 2 :(得分:2)

另一种方式,使用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"