[linux] Ako premenovat 1500 fotiek
Jan ONDREJ (SAL)
jan.ondrej na upjs.sk
Pondělí Říjen 2 08:23:50 CEST 2006
On Mon, Oct 02, 2006 at 12:34:35AM +0200, Jan Kunder wrote:
> Ing. Jan ONDREJ wrote / napísal(a):
> >V pythone asi takto:
> >
> >-----------------------------------------------------------------------
> >#!/usr/bin/python
> >'''
> > This program is free software; you can redistribute it and/or modify
> > it under the terms of the GNU General Public License as published by
> > the Free Software Foundation; either version 2 of the License, or
> > (at your option) any later version.
> >'''
> >
> >import os,time
import sys
os.chdir(sys.argv[1])
> >
> >c=0
> >for fn in os.listdir('.'):
Posledny riadok vymaz a zamen ho za:
for fn in sorted(os.listdir('.'),key=lambda x: os.stat(x).st_mtime):
if fn[-4:].lower()!='.jpg':
continue
> > c+=1
> > nfn="%s---%05d" % (
> > time.strftime('%Y-%m%d_%H%M',time.localtime(os.stat(fn).st_mtime)),c)
> > print "%s -> %s" % (fn,nfn)
> > os.rename(fn,nfn)
> >
> >-----------------------------------------------------------------------
> >:-)
> >
> >Dalsia dobra utilitka je "rename", ale prave toto asi nevie.
> >
> > SAL
> >
> >On Thu, Sep 21, 2006 at 04:41:15PM +0200, Jan Kunder wrote:
> >>Ahoj.
> >>V tcmd som to robil takto
> >>[Y]-[M][D]_[hm]---0[C2362]
> >>co premenovalo COKOLVEK na rok-mesiacden_hodinaminuta(s0 na
> >>zaciatku)---0(a counter+1 od daneho cisla)
> >>
> Vdaka pekne, *velmi* mi to pomohlo.
> Nakolko vsak python ani len netusim poprosim o 3 drobne featurky:
Nuz, skus sa naucit. Su na to velmi dobre weby, napr. http://www.py.cz/ .
Zaklady sa daju naucit za par minut, jednotlive kniznice spoznat uz trva
trocha dlhsie.
> 1. premenuvavaj *.jpg ONLY
Pridal som ti. Dufam, ze hned neposles poziadavku aj pre gify alebo png. :)
> 2. ./script adresar - premenuje vsetky .jpg v $adresar (inak premenuvava
> aj script ;)
No ja som predpokladal, ze to hodis do /usr/local/bin a budes spustat
z tejto cesty priamo v adresari, kde to potrbeujes vykonat, ale ked si
chces skomplikovat situaciu, tak prosim.
> 3. subory v "." nacitavaj podla mtime od najstarsieho (lebo inak to robi
> unsorted a to cislovanie fotiek na konci nie je chronologicke = je priam
> chaoticke = unsorted = de facto random)
Tak tomuto vobec nechapem. Je uplne jedno v akom poradi to premenovavas,
stale to premenuje podla datumu/casu daneho suboru. Mozno len vypis mas
trocha chaoticky. Skus si na to pustit "| sort +2", ak ti to velmi vadi. :)
Skusil som to triedenie doopisat, ale neskusal som ho.
Pozor na indentaciu (pocet medzier na zaciatku kazdeho riadku), na co je
python citlivy. Nechavam to na domacu ulohu. :)
Skript je pod GPL, ostatne upravy necham na ostatnych. :)
SAL
Další informace o konferenci linux