pathString="E:\new folder\Study\Batch\test_project_nuke\test_render\testImg_###.jpeg"
我试图首先分离扩展名,发现存在 \t converts string \t tab 。
我也试过这种方式
numberOfSplChar=pathString.rfind("#") - pathString.find("#")
print numberOfSplChar
发现少了1个..
如果要计算字符串中“#”的数量,请使用str.count方法:
pathString=r"E:\new folder\Study\Batch\test_project_nuke\test_render\testImg_###.jpeg"
pathString.count("#")
>>> 3
如果您需要查找文件的扩展名,请使用os.path.splitext方法:
pathString=r"E:\new folder\Study\Batch\test_project_nuke\test_render\testImg_###.jpeg"
path, extension = os.path.splitext(pathString)
print path
>>> 'E:\\new folder\\Study\\Batch\\test_project_nuke\\test_render\\testImg_###'
print extension
>>> '.jpeg'
PS:在字符串中r
使用时使用 (aw string) 修饰符\
。在您的示例中, E:\new" 可能已翻译为:
"""E:
ew"""
pathString="E:\new folder\Study\Batch\test_project_nuke\test_render\testImg_###.jpeg"
我试图首先分离扩展名,发现存在 \t converts string \t tab 。
这是一个问题:"\t"
字符串文字中的 a 表示一个制表符。您应该将其写入\\t
或放入原始字符串 ( r"\t"
)。
我也试过这种方式
numberOfSplChar=pathString.rfind("#") - pathString.find("#") print numberOfSplChar
发现少了1个..
当然。让我们使用这个更简单的字符串:
pathString = "a###b".
rfind()
给出 3,lfind 给出 1。区别在于从第一个到最后一个的距离,比数字小一。所以只需加1。
但要注意字符串,例如'a###b###c###d###e'
- 它们应该如何处理?