我们想在Python中获取Mac的posixpath ...有没有办法得到它

时间:2011-11-22 15:16:34

标签: python

假设我的文件在桌面上:

我希望路径为/MAC OS X 10.7 US/Users/labuser/Desktop/abcd.txt

当我使用任何函数获取路径时,我得到的路径为:/Users/labuser/Desktop/abcd.txt

有没有办法获取驱动器名称的路径?

2 个答案:

答案 0 :(得分:1)

我从来没有在Mac上看过这个。已装入的卷可在/Volumes中找到。在运行Mac OS X 10.7.2的MacBook Pro上,这就是我所看到的:

% ls -l /Volumes
total 8.0K
drwxrwxrwt+  5 root   admin   170 Nov 21 11:02 .
drwxr-xr-x  38 root   wheel  1.4K Nov 21 20:40 ..
lrwxr-xr-x   1 root   admin     1 Nov  6 20:49 Macintosh HD -> /

在那里你会看到一个名为“Macintosh HD”的符号链接(或任何你命名的符号链接)链接到/。因此,/Volumes/Macintosh HD相当于/

现在,它听起来像你想要的HFS路径,它是冒号分隔的(例如Macintosh HD:Users:labuser:Desktop:abcd.txt)?在这种情况下,我不知道当前的Python实现,但有一个AppleScript command you may run on your Mac to convert HFS Path to POSIX,反之亦然:

% osascript -e 'return POSIX path of file "Macintosh HD:Users:labuser:Desktop:abcd.txt"'
/Users/labuser/Desktop/abcd.txt

相反:

% osascript -e 'return posix file "/Users/labuser/Desktop/abcd.txt"'
file Macintosh HD:Users:labuser:Desktop:abcd.txt

这不是最好的,但将它变成辅助函数是微不足道的。

编辑:我发现这个非常先进的Pure Python™ implementation利用了PyObjC API调用。

答案 1 :(得分:0)

您是否尝试使用macpath模块?

它包含所有os.path方法,但是在Macintosh路径名样式中。