Я новичок в python (и вообще в кодировке), и мне не удалось найти решение моей конкретной проблемы в Интернете. В настоящее время я создаю инструмент, который позволит пользователю сохранять файл в сетевом расположении. Файл будет иметь номер версии. Я бы хотел, чтобы версия автозапуска скрипта была сохранена до ее сохранения. У меня остальная часть скрипта выполнена, но это автоматическое управление версиями, с которыми у меня возникают проблемы. Вот то, что я до сих пор:Как я могу изменить часть имени файла с помощью python
import re
import os
def main():
wip_folder = "L:/xxx/xxx/xxx/scenes/wip/"
_file_list = os.listdir('%s' % wip_folder)
if os.path.exists('%s' wip_path):
for file in _file_list:
versionPattern = re.compile('_v\d{3}')
curVersions = versionPattern.findall('%s' % wip_folder)
curVersions.sort()
nextVersion = '_v%03d' % (int(curVersions[-1][2:]) + 1)
return nextVersion
else:
nextVersion = '_v001'
name = xxx_xxx_xx
name += '%s' nextVersion
name += '_xxx_wip
Я, вероятно, следует отметить, что основной() будет вызываться с QPushButton в другом модуле. Кроме того, этот wip_path, скорее всего, будет содержать несколько версий одного файла. Поэтому, если в wip_path есть 10 версий этого файла, это сохранение должно быть v011. Прошу прощения, если этот вопрос не имеет смысла. Любая помощь будет оценена по достоинству. Спасибо!
Непонятно, какие проблемы у вас есть. Вы только пытаетесь определить, как найти предыдущие версии и правильно назвать новую? – TheLazyScripter
в основном, да. Мне нужно пройти через папку wip, чтобы найти самый высокий номер версии. Затем мне нужно добавить 1 к номеру версии этой версии, чтобы получить строку, которую я сохраняю в переменной nextVersion. Затем я придерживаюсь этого окончательного соглашения об именах. В принципе, если мой каталог WIP имеет ex_v001.doc ex_v002.doc ex_v003.doc в нем, я хочу, чтобы мой следующий сохранить, чтобы быть названным: ex_v004.doc – shagler
Вам только нужно скомпилировать регулярное выражение один раз, вне цикла. Ваш вопрос * делает * имеет смысл кстати. но неясно, какова ваша проблема. Каков ваш текущий выход? Как это не работает в данный момент? – jDo