2014-02-14 2 views
0

Если есть заранее определенная однострочная легко запоминающаяся команда python, которая извлекает букву диска из файла строки, полезного как для Mac, так и для окон?Python: Как извлечь Драйв из строки Filepath

если MAC:

filepathString = '/Volumes/Some Documents/The Doc.txt' 

приведет к:

myDrive = '/Volumes/transfer' 

если WIN:

filepathString = 'c:\Some Documents\The Doc.txt' 

приведет к:

myDrive = 'c:' 

ответ

3

Пробуйте метод splitdrive от модуля os.path вместе с обычным split. Это не одна строка, но опять же я не вижу, как код будет знать, чтобы добавить transfer в путь тома или определить, является ли данный путь из Windows или Unix (помните, что C: является допустимым именем файла Unix).

2

Я думаю, вам нужно будет написать для этого специальный код. Используйте platform.system() или platform.uname(), чтобы узнать, какую систему вы используете, затем используйте функции os.path для извлечения имени диска/тома в соответствии с обнаруженной платформой.

Эскиз:

def volume_name(path): 
    if platform.system() == "Darwin": 
     return re.search("^\/Volumes\/[^/]+/", path).group(0) 
    elif platform.system() == "Windows": 
     return path[0:2] 
Смежные вопросы