0

この入力がある場合:

/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff

そして、文字が最後に表示された時刻を見つけて "/"、文字列を取得したいBasicTest

それを行う良い方法は何ですか?

ありがとうございました!

4

6 に答える 6

5

os.pathモ​​ジュールは、基本的なパス名操作を提供します。

>>> from os.path import *
>>> file = '/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff'
>>> splitext(basename(dirname(file)))[0]
'BasicTest'
于 2012-05-03T19:06:41.687 に答える
4
>>> s = "/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff"
>>> ind = s.rfind('/')
>>> ind1 = s[:ind].rfind('/')
>>> print(s[ind1+1:ind].split('.')[0])
BasicTest
于 2012-05-03T18:59:20.150 に答える
3

これがosの例です:

>>> p = '/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff'
>>> os.path.dirname(p)
'/Users/myMac/Desktop/MemoryAccess/BasicTest.asm'
>>> os.path.splitext(os.path.dirname(p))
('/Users/myMac/Desktop/MemoryAccess/BasicTest', '.asm')
>>> os.path.basename(os.path.splitext(os.path.dirname(p))[0])
'BasicTest'
于 2012-05-03T19:09:16.910 に答える
1

さて、「BasicTest」は「/」の最後から2番目の外観に従いますが、それを超えて、試してみてくださいrfind

于 2012-05-03T18:59:43.983 に答える
1

BasicTest.asm戦いの半分である以下が返されます:

'/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff'.split('/')[-2]

同じトリックを使用して、「。」を分割できます。

'BasicTest.asm'.split('.')[0]
于 2012-05-03T19:01:30.900 に答える
0

Pythonでreを使用

import re
s = "/Users/myMac/Desktop/MemoryAccess/BasicTest.asm/someStuff"
pattern = re.compile(r"/(\w+)\.\w+/\w*$")
match = re.search(pattern,s)
print match.group(1)
于 2013-01-25T08:40:07.420 に答える