たとえば、次のような文字列があるとします。
a = "username@102.1.1.2:/home/hello/there"
最後の の後の最後の単語を削除するにはどうすればよいですか/
。結果は次のようになります。
username@102.1.1.2:/home/hello/
OR
username@102.1.1.2:/home/hello
これを試して:
In [6]: a = "username@102.1.1.2:/home/hello/there"
In [7]: a.rpartition('/')[0]
Out[7]: 'username@102.1.1.2:/home/hello'
>>> "username@102.1.1.2:/home/hello/there".rsplit('/', 1)
['username@102.1.1.2:/home/hello', 'there']
>>> "username@102.1.1.2:/home/hello/there".rsplit('/', 1)[0]
'username@102.1.1.2:/home/hello'
あなたはこれを試すことができます
a = "username@102.1.1.2:/home/hello/there"
print '/'.join(a.split('/')[:-1])
これは最も Pythonic な方法ではないかもしれませんが、次の方法でうまくいくと思います。
tokens=a.split('/')
'/'.join(tokens[:-1])
os.path.dirnameを検討しましたか?
>>> a = "username@102.1.1.2:/home/hello/there"
>>> import os
>>> os.path.dirname(a)
'username@102.1.1.2:/home/hello'
a = "username@102.1.1.2:/home/hello/there" a.rsplit('/', 1)[0]
結果 -username@102.1.1.2:/home/hello/