簡體   English   中英

從文件路徑分割驅動器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM