6

これがバグなのか機能なのかはわかりませんが、ディレクトリを使用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'

誰かがなぜそうなのか説明してもらえますか?

4

1 に答える 1

7

/varへのシンボリックリンクです/private/var

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

tempfile環境TMPDIR変数を使用してパスの場所のプレフィックスを付けているだけなので、単なる文字列です。しかしos.getcwd()、絶対位置を解決しています:

$ echo $TMPDIR
/var/folders/04/kc575q1n6x9drkwxyfljg5zw0000gn/T/
于 2012-09-18T18:21:27.733 に答える