【发布时间】:2015-05-13 02:06:36
【问题描述】:
我一直在尝试将 Mac 路径转换为 Python 中的 POSIX 路径。我想转换这样的东西:
'Main HD:Users:sasha:Documents:SomeText.txt'
到这里:
'/Users/sasha/Documents/SomeText.txt'
我知道我可以简单地将字符串拆分成一个列表,然后用正确的分隔符重新加入它。但我相信一定有一个更优雅的解决方案我错过了,可能涉及“macpath”或“os.path”python 模块。但是,我无法在这些模块中找到一个函数来实现两种格式之间的转换。
简单字符串操作解决方案的另一个问题是,如果我有多个 HD,那么简单的解决方案将不起作用。例如:
如果你有这样的路径:
'Extra HD:SomeFolder:SomeOtherText.txt'
我们希望将其转换为:
'/Volumes/Extra HD/SomeFolder/SomeOtherText.txt'
不要:
'/SomeFolder/SomeOtherText.txt'
【问题讨论】:
-
只是出于好奇,'Main HD:Users:sasha:Documents:SomeText.txt' 之类的路径从何而来?我正在使用 OSX Mavericks,但以前从未见过
-
这是指定目录路径的 pre-OS-X 方式。硬盘名称在前,前导
:表示相对路径。 -
你是怎么得到这条路的?苹果脚本?
-
@number5 我正在尝试通过 MegaSeg(音频播放器)数据库文件编写脚本,该文件具有这种格式的歌曲路径。
-
附加信息似乎可以通过
diskutil将设备节点与卷名匹配,mount将设备节点与挂载点匹配。给定一个卷名,通过diskutil list或类似的方式找到哪个设备保存它,然后通过mount找到该卷的挂载点