Уведомления

Группа в Telegram: @pythonsu

#1 Май 9, 2017 23:42:22

alexbestalex
Зарегистрирован: 2017-04-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделение пути файла от md5

Доброго времени суток ! Можете подсказать решение?
Есть строка: C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859
Нужно разбить её на путь и хеш.

Пробую делать с помощью модуля re , но получается только достать хеш

 import re
b=r'C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859'
a=re.compile(':(\w+)')
print a.findall(b)

Отредактировано alexbestalex (Май 9, 2017 23:47:30)

Офлайн

#2 Май 9, 2017 23:55:50

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Разделение пути файла от md5

 import re
b=r'C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859'
a=re.compile(':(\w+)')
hash_md = a.findall(b)[0]
path = b[:-(len(hash_md)+1)]
print(path, hash_md)

Офлайн

#3 Май 9, 2017 23:57:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10012
Репутация: +  857  -
Профиль   Отправить e-mail  

Разделение пути файла от md5

  
>>> s = (r'C:\Users\noname\PycharmProjects'
...      r'\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859')
>>> 
>>> out = s.rsplit(':', 1)
>>> out
['C:\\Users\\noname\\PycharmProjects\\untitled29\\test\\1.txt', 'b6ab66c58253a0f21931c1def7898859']
>>>

  
>>> import re
>>> 
>>> s = (r'C:\Users\noname\PycharmProjects'
...      r'\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859')
>>> 
>>> out = re.search(r'(.*):(.*)$', s).groups()
>>> out
('C:\\Users\\noname\\PycharmProjects\\untitled29\\test\\1.txt', 'b6ab66c58253a0f21931c1def7898859')
>>>



Офлайн

#4 Май 10, 2017 00:04:06

alexbestalex
Зарегистрирован: 2017-04-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделение пути файла от md5

Спасибо) Отличные решения !

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version