2012-03-23 100 views
0

我刚刚进入蟒蛇最近,现在我通过练习(我想象是很简单的,但是对我足够的挑战性)创建的小工具文件到文件夹进行排序。由分离器的第一次出现分离的字符串

到目前为止,它已经持续相当不错,但现在我已经遇到了一个问题:

我的文件的格式如下: myAsset_prefix1_prefix2_prettyName.ext; (即Tiger_texture_spec_brightOrange.png)

myAsset通常具有不同的长度,因为它取决于名称。

我想在一个单独的文件夹相同的资产(“myAsset_”标签)的每个文件进行排序。

复制到一个单独的文件夹等是没有挑战,但.. 我不想每次手动更新数组创建/接收新的资产。 因此,而不是使用startswith操作,并使其在列表中运行的,我想我的脚本运行时,通过使脚本看看文件的名称来构建阵列和存储的一切直至并包括第一“ _“在变量/数组中。

这可能吗?

+2

能否请您澄清标题是如何相关的问题吗? – 2012-03-23 12:20:54

+2

这一切都始于“asset_tag = filename.split(‘_’)[0]” – j13r 2012-03-23 12:21:28

+0

固定的 - 它是从其他Nexus Q攒了我ddnt后:回合在于S对不起! – 2012-03-23 13:07:40

回答

1

我想你想的glob模块。这允许您列出符合特定格式的文件。

例如:

for filename in glob.glob(*.ext): 
    asset_tag = filename.split(" ")[0] 
+0

其实,我正在寻找的是.split操作:D 这实际上是我所需要的。谢谢! :d – 2012-03-23 13:05:25

+0

对于它的价值,'str.partition()'是像'str.split()'但它只是分裂您选择的分隔符的第一次出现。 – 2012-03-23 14:00:59

+0

注意! Thx的额外信息! :) – 2012-03-23 14:42:13