Riješeno: raščlaniti ime datoteke

Posljednje ažuriranje: 09/11/2023

Glavni problem sa raščlanjivanjem imena datoteke je taj što može biti teško odrediti ispravnu putanju do datoteke.

 for date

Assuming you have a filename in the format "YYYYMMDD_filename.txt", you can use the following code to parse the date out of the filename:

import datetime filename = "20160301_filename.txt" # Get position of first underscore in string underscore_index = filename.find("_") # Parse date from string date_string = filename[:underscore_index] file_date = datetime.datetime.strptime(date_string, "%Y%m%d").date() print(file_date) # Output: 2016-03-01

Ovaj kod uvozi modul datetime, koji sadrži funkcije za rad s datumima.

Kod tada definira string imena datoteke i koristi metodu find() da dobije indeks prvog znaka podvlake u nizu.

Zatim, koristi sečenje da bi se podniz od početka niza doveo do (ali ne uključujući) znak donje crte. Ovaj podniz se zatim prosljeđuje funkciji strptime(), koja ga analizira i vraća objekt datetime.date.

Konačno, kod ispisuje objekt datuma.

Raščlanjivanje

Parsing u Pythonu je proces pretvaranja niza teksta u strukturu podataka koju može koristiti Python interpreter. Ovo se može učiniti korištenjem raznih različitih tehnika, uključujući regularne izraze, manipulaciju stringovima i strukture podataka.

Kako raščlaniti

U Pythonu, raščlanjivanje je proces uzimanja niza teksta i pretvaranja u strukturu podataka. To se može učiniti korištenjem ugrađenih funkcija parsera ili pisanjem vlastitih.

Da biste raščlanili niz, prvo morate kreirati instancu objekta parsera. Ovaj objekat će sadržavati sve informacije potrebne za raščlanjivanje niza. Zatim, trebate pozvati jednu od parse() metoda parsera. Ova metoda će uzeti string kao ulaz i vratiti objekat koji sadrži sve informacije koje su iz njega raščlanjene.

Evo primjera koji pokazuje kako koristiti objekt parsera za raščlanjivanje niza:

import re import sys import time def main(): input = “Ovo je test” print(“Razređivanje je trajalo %s sekundi” % (time.time() – start_time)) if __name__ == “__main__”: main()

Slični postovi: