Wyciągnięcie określonego ciągu znaków z pliku i użycie tego ciągu do nazwania pliku

0

Witajcie, Prośba o pomoc.

Mam plik PDF z wieloma stronami - dziele go na pojedyncze strony PDF.
Mam więc pliki: plik1.pdf, plik2.pdf...
Zmieniam pliki PDF do tekstu i dostaje pliki: text1.txt, text2.txt...
I tu potrzebuje zrobić taka operacje:

  • w każdym z plików *.txt występuje ciąg znaków (9 znaków) zaraz za tekstem "Numer uzytkownika:" - czyli mam "Numer uzytkownika:123456789"
  • potrzebuje przechwycić te 9 znaków a potem użyć je do zmiany nazwy pliku *.pdf który analizuje - tu zakładając, że obramiam plik wyjściowy plik1.pdf - konwertuję go do tekstu, wyciągam z niego te 9 znaków (przykładowo "123456789") i zmieniam nazwę pliku z plik1.pdf na 123456789.pdf

Muszę tak zrobić z wszystkimi kolejnymi plikami.
Będę wdzięczny za pomoc.
M

0

Co już masz ?

0

A masz chociaż listę plików z konkretnym rozszerzeniem, albo których nazwa pasuje do wzorca?
Na podstawie tego co piszesz nie jestem w stanie określić co wiesz i co już udało Ci się zrobić. Chyba żaden z kolegów nie chce zaczynać tu kursu PS od podstaw.

--
Paweł

1
import os
import re

# zakładam, że w folderze src są tylko pliki te twoje text1.txt text2.txt
files = os.listdir('src')

pattern = r'Numer uzytkownika:(\d*)' 

for filename in files:
  file = open(f'src/{filename}', 'r').read()
  data = re.search(pattern, file)  
  id = data.groups()[0]
  open(f'{id}.txt', 'w').write(file)
0

o, to Python.
Nie bawiłem się jeszcze.
Sprawdzałeś jakie wyniki zwraca zmienna data i id?
Dostajesz jakieś błędy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1