2017-02-23 25 views
0

У меня есть строка, которую я расколоть в списке на пространствах, один из элементов в списке, например, это: "/home/hoeter/PycharmProjects/Renpy/window.py"Получить последний слэш из строки питона

Конечный результат я хочу, чтобы он пришел вот так:

window.py="/home/hoeter/PycharmProjects/Renpy/window.py" 

В JavaScript я хотел бы сделать что-то вроде:

var string = "/home/hoeter/PycharmProjects/Renpy/window.py"; 
for (var i = string.length; i>1; i--) 
{ 
    if(string.charAt(i) === "/") 
    { 
     temp = string.substring(i+1, string.length); 
     string = temp + "=" + '"' + string + '"'; 
     console.log(string); 
     i = 0; 
    } 
} 
>>> window.py="/home/hoeter/PycharmProjects/Renpy/window.py" 

Но петли не работают таким образом, в Python, я видел некоторые для петель с enemurate, но я не понимаю, как я могу реализовать это с помощью того, что хочу. В конце концов, я хочу, чтобы пройти через весь список с for split in splits и сцепить результаты в одну строку

+0

Почему не работают петли таким образом? 'for i in range (len (str) -1,1, -1):' –

+0

Re: 'window.py = ...' У вас есть объект с именем 'window' с атрибутом' py'? Я не уверен, что понимаю. –

ответ

2

Функция правильно расколоть путь os.path.split(path). Он будет следить за тем, чтобы раскол был выполнен на правом делителе для ОС, на котором он работает.

>>> import os 
>>> os.path.split('/home/hoeter/PycharmProjects/Renpy/window.py') 
('/home/hoeter/PycharmProjects/Renpy', 'window.py') 
>>> os.path.split('/home/hoeter/PycharmProjects/Renpy/window.py')[1] 
'window.py' 

Существует также функция для удобства, чтобы сделать это в один шаг:

>>> os.path.basename('/home/hoeter/PycharmProjects/Renpy/window.py') 
'window.py' 
3

Вы можете получить все после последнего / с:

"/home/hoeter/PycharmProjects/Renpy/window.py".split('/')[-1] 

 Смежные вопросы

  • Нет связанных вопросов^_^