Python:创建目录
我想在我的桌面目录下创建一个名为“downloaded”的文件夹;这样做不行吗?
import os
os.mkdir('~/Desktop/downloaded/')
3 个回答
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"
10
使用
import os
os.mkdir(os.path.expanduser("~/Desktop/downloaded"))
这个 ~
符号是一个在POSIX shell中常用的表示方式,它代表了你的HOME环境变量的内容。所以,当你在命令行中输入:
$ mkdir ~/Desktop/downloaded
其实和输入
$ mkdir $HOME/Desktop/downloaded
是一样的。
你可以试着改变一下HOME环境变量,看看我说的对不对。
因为这是一个shell的约定,所以内核和Python都不会特别对待它。而Python的 os.mkdir
函数其实只是对内核的 mkdir(2)
系统调用的一个封装。为了方便,Python提供了 os.path.expanduser
函数,可以把波浪号替换成HOME环境变量的内容。
$ 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'
15
你不能直接使用 ~
符号。你必须使用 os.path.expanduser 这个方法来把 ~
替换成正确的路径。