2012-03-23 6 views
0

Я недавно попал в python, и теперь я практикуюсь (что я считаю довольно простым, но достаточно сложным для меня), создавая небольшие инструменты для сортировки файлов в папки ,Разделение строки на первое вхождение разделителя

До сих пор это продолжается уже довольно хорошо, но теперь я столкнулся с проблемой:

Мои файлы находятся в следующем формате: myAsset_prefix1_prefix2_prettyName.ext; (т. Е. Tiger_texture_spec_brightOrange.png)

myAsset всегда имеет разную длину, поскольку он зависит от имени.

Я хочу сортировать каждый файл одного и того же актива (тег «myAsset_») в отдельной папке.

Копирование в отдельную папку и т. Д. Не является вызовом, но ... Я не хочу обновлять массив вручную каждый раз, когда я создаю/получаю новый актив. Итак, вместо использования операции startswith и запустите ее через список, я бы хотел построить этот массив, когда мой скрипт запускается, заставляя скрипт смотреть имя файла и хранить все до и включая первый " _ "в переменной/массиве.

Возможно ли это?

+2

Не могли бы вы уточнить, что название связано с вопросом? –

+2

Все начинается с "asset_tag = filename.split ('_') [0]" – j13r

+0

исправлено это - оно было сохранено из другого сообщения q i ddnt: S Извините, что! –

ответ

1

Я думаю, вы хотите модуль glob. Это позволяет вам отображать файлы, соответствующие определенному формату.

Например:

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

На самом деле, я искал, что .split operation: D Это действительно то, что мне нужно. Спасибо! : D –

+0

Для того, что это стоит, 'str.partition()' подобен 'str.split()', но он только разбивается на первое вхождение выбранного вами разделителя. –

+0

отмечено! Thx для дополнительной информации! :) –

Смежные вопросы