Я использую код для создания папок и перемещения в них .jpgs, и мне нужна небольшая помощь с включением регулярных выражений в одну из строк.Код следующий:
import glob
import os.path
import shutil
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
files = glob.glob('*.jpg')
for filename in files:
name = filename[0:7]
try:
os.makedirs(os.path.join(BASE_DIR, name))
except OSError:
pass
shutil.move(filename, os.path.join(BASE_DIR, name, filename))
Как таковой, он в основном берет каждый .jpg из каталога и создает для него новую папку на основе первых 6 букв имени файла name = filename[0:7]
.Вместо этого я хочу назвать папки с помощью регулярного выражения, которое фиксирует все буквы перед подчеркиванием.Поэтому, если у меня есть изображение с именем examplename_53853532_5353.jpg
, я хочу, чтобы скрипт создал папку с именем examplename
и поместил в нее изображение.
Я попробовал следующее name = filename[r".+?(?=_)"]
, но оно не работает.Есть идеи, где я иду не так?