假设我的文件在桌面上:
我希望路径/MAC OS X 10.7 US/Users/labuser/Desktop/abcd.txt
当我使用任何函数来获取路径时,得到的路径为:/Users/labuser/Desktop/abcd.txt
有没有办法得到带有驱动器名的路径?
最佳答案
我从没在Mac上见过这个。装入的卷位于/Volumes
中。在运行MacOSX10.7.2的MacBookPro上,我看到的是:
% 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
这不是最好的,但是把它变成一个helper函数是很简单的。
编辑:我发现这个非常高级的Pure Python™ implementation利用PyObjC API调用。
关于python - 我们想用Python获取Mac的posixpath ...有什么办法可以做到这一点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8229128/