0
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个..

4

2 回答 2

2

如果要计算字符串中“#”的数量,请使用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"""
于 2012-12-14T09:57:41.940 回答
0
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'- 它们应该如何处理?

于 2012-12-14T10:12:33.693 回答