Estou procurando uma função que possa lidar com casos em que o caminho do arquivo de entrada já contém um sufixo numérico entre parênteses. A implementação atual da minha get_unique_path
função incrementa o sufixo numérico em um até encontrar um caminho que não existe. No entanto, essa abordagem falha quando o caminho do arquivo de entrada já contém um sufixo numérico.
Por exemplo, se o caminho do arquivo de entrada for example(1).txt
, a função anexará incorretamente outro conjunto de parênteses e um número, resultando em example(1)(2).txt
. Em vez disso, quero que a função verifique o caminho base para parênteses existentes e incremente o sufixo numérico de acordo.
Aqui está minha implementação atual:
def get_unique_path(file_path: str, extension: str) -> Optional[str]:
base_path = os.path.splitext(file_path)[0]
attempt = 1
while True:
path = f"{base_path}({attempt + 1}).{extension}"
if not os.path.exists(path):
return path
attempt += 1
Gostaria de modificar esta função para lidar com casos em que o caminho do arquivo de entrada já contém um sufixo numérico entre parênteses. Alguém pode sugerir uma solução?