Sposta il file in una directory appropriata in base alla prima lettera della seconda parola, seguita dalle prime due lettere della seconda parola con Python [closed]

-2

EDIT: Apparentemente la domanda qui sotto è troppo specifica. Fammi riformulare:

Sto cercando un modo per inserire una lettera in una lista di intervalli specificati in modo tale che, se data la lettera S e gli intervalli A-F, G-M, N-T, U-Z, selezionerebbe il terzo intervallo.

QUESTIONE ORIGINALE:

Diciamo che ho un file: John_Smith.pdf

E ho una gerarchia di directory come questa:

A/
B/
C/
D/
...
Z/

E all'interno di ciascuna di queste directory ci sono sottodirectory che rompono ulteriormente i file dalle prime due lettere anziché dalla prima (i guasti non sono gli stessi in ogni cartella). Nella directory S /, le sottodirectory potrebbero avere questo aspetto:

SA-SF/
SG-SM/
SN-ST/
SU-SZ/

Come posso, usando Python, inserire John_Smith.pdf nella directory appropriata ( S/SG-SM/ )? Sarebbe preferibile che questo fosse il più agevole possibile dal sistema operativo (ad esempio utilizzando os.path.join invece di hard coding '/' o '\'.)

Grazie!

    
posta chad 22.07.2015 - 01:56
fonte

1 risposta

-1

Ho trovato la risposta qui . Python ha effettivamente questa funzionalità integrata. Ad esempio

'A' < 'F' # Restituisce vero perché A viene prima di F

Quindi si può usare la funzione

def is_in_range(range, letter):
    return range[:2] <= letter <=range[3:5]


is_in_range('SA-SF','SM')
False

is_in_range('SG-SM','SM')
True

Nota: Case lo rovinerà, quindi sarà necessario .upper()

    
risposta data 22.07.2015 - 05:14
fonte

Leggi altre domande sui tag