我有字符串:
y = x.split("/")
output = ['ls', 'ps', 'ts', '00']
如何分割和剪切最后一个值
实际输出:
output = /ls/ps/ts/
预期产出:
<center style="margin:6px 0;">
<img t-if="o.barcode" t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s' %('Code128',o.barcode,250,50)"/>
</center>
答案 0 :(得分:2)
您可以在此处使用os.path
路径操作效果很好:
import os
x = "/ls/ps/ts/00"
output = os.path.dirname(x)
print output # prints "/ls/ps/ts"
答案 1 :(得分:1)
这可能是最短的解决方案:
x.rsplit("/", 1)[0] + "/"
#'/ls/ps/ts/'
以正则表达式为基础:
import re
re.findall("(.+/)[^/]+", x)[0]
#'/ls/ps/ts/'
答案 2 :(得分:0)
如果您想使用split
,则可以重新join
组件。由于您希望维护一个尾随分隔符,您可以稍后再添加它,或者更好的是,将组件的最后一个元素设置为空:
y = x.split('/')
y[-1] = ''
output = '/'.join(y)
作为一个单行:
output = '/'.join(s if i else '' for i, s in enumerate(x.split('/'), -x.count('/')))