我想在我的桌面目录中创建一个目录(名为"已下载"); 这不起作用吗?:
import os
os.mkdir('~/Desktop/downloaded/')
Run Code Online (Sandbox Code Playgroud)
S.L*_*ott 15
您不能简单地使用~ 您必须使用os.path.expanduser来替换~正确的路径.
tzo*_*zot 10
使用
import os
os.mkdir(os.path.expanduser("~/Desktop/downloaded"))
Run Code Online (Sandbox Code Playgroud)
该~字符是POSIX shell约定,表示HOME环境变量的内容.所以,当你输入一个shell时:
$ mkdir ~/Desktop/downloaded
Run Code Online (Sandbox Code Playgroud)
它和打字一样
$ mkdir $HOME/Desktop/downloaded
Run Code Online (Sandbox Code Playgroud)
尝试更改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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23922 次 |
| 最近记录: |