[英]Splitting Drive from filepath
在Windows平台上,使用npath模塊將驅動器號與文件路徑分開非常簡單:
import ntpath
filepath='c:\\my_drivepath\\somefolder\\blabla\\filename.txt'
result = ntpath.splitdrive(filepath)
print result
打印出:
('c:', '\\my_drivepath\\somefolder\\blabla\\filename.txt') <type 'tuple'>
但是將其與Mac文件路徑一起使用:
filepath='/Volumes/drivename/Folder1/Folder2/Folder3/Folder4/Filename.ext'
結果為:
('', '/Volumes/drivename/Folder1/Folder2/Folder3/Folder4/Filename.ext') <type 'tuple'>
我想知道是否有可用的模塊/方法/命令將驅動器名稱從Mac文件路徑中分離出來...尋找這樣的輸出:
('/Volumes/drivename', '/Folder1/Folder2/Folder3/Folder4/Filename.ext')
Mac是基於Unix的操作系統,其“驅動器”的概念不同於Windows。 在Unix中,所有目錄都從/
開始,“驅動器”可以安裝在/
下的任何目錄中。
在您的情況下,最好使用split
來完成您的工作:
>>> d = '/Volumes/drivename/Folder1/Folder2/Folder3/Folder4/Filename.ext'
>>> d.split('/',3)
['', 'Volumes', 'drivename', 'Folder1/Folder2/Folder3/Folder4/Filename.ext']`
在基於Unix的系統中,驅動器可以映射到任何目錄。 所以可以在
/卷/ DRIVENAME
要么
/用戶/ DIR1 / DIR2 / DIR3 / dir4'
您可能要使用df
類的命令行實用程序來查找存在的驅動器以及它們的映射位置。 然后,您將找出“驅動器路徑”是什么。
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 236003080 139929200 84062516 63% /
udev devtmpfs 10240 0 10240 0% /dev
tmpfs tmpfs 805524 968 804556 1% /run
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 3642440 21384 3621056 1% /run/shm
none tmpfs 4 0 4 0% /sys/fs/cgroup
在這里,您可以看到我的主驅動器已安裝到/
。 如果我有USB驅動器,則會看到類似/media/usb0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.