Python的os.chdir公司()和操作系统getcwd()使用时不匹配临时文件.mkdtemp()在Mac OSX Lion上

2024-06-16 09:37:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定这是一个bug还是一个特性,但是当我使用os.chdir()将目录更改为使用tempfile.mkdtemp()生成的目录时,os.getcwd()将报告一个前缀为/private的目录。在

以下代码说明了这一点:

In [1]: import os, tempfile

In [2]: d = tempfile.mkdtemp()

In [3]: d
Out[3]: '/var/folders/s4/grpfgn297hjgnfws3tl_gnt80000gn/T/tmpmfNUYz'

In [4]: os.chdir( d )

In [5]: os.getcwd()
Out[5]: '/private/var/folders/s4/grpfgn297hjgnfws3tl_gnt80000gn/T/tmpmfNUYz'

有人能解释一下为什么会这样吗?在


Tags: in目录osvarprivateouttempfiles4
1条回答
网友
1楼 · 发布于 2024-06-16 09:37:56

/var/private/var的符号链接

$ ls -l /var
lrwxr-xr-x@ 1 root  wheel  11 Dec  2  2011 /var -> private/var

tempfile只是使用环境TMPDIR变量作为路径位置的前缀,因此它只是一个字符串。但是os.getcwd()正在解析绝对位置:

^{pr2}$

相关问题 更多 >