Sida 1 av 1

Python, gå igenom kataloger av visst namn och kopiera filer

Postat: 13 feb 2009, 12:32
av Default
Hej,

Jag har googlat en del på detta problem, och hittat lite olika dirwalk och regexpfilstegare etc men jag får ändå inte ihop det, jag är helt ny på python.

Det jag vill göra är... ha ett lättöverskådligt script som utför följande:

i en katalog finns ett okänt antal underkataloger, bland dem finns det ett okänt antal kataloger vars namn ser ut på ett visst sätt:

bildkata
bildkatb
bildkatc
...

i dessa kataloger finns ett okänt antal filer vars namn ser ut såhär:

bild
bild1
bild2
bild3
...
bild10
bild11
etc

Filnamnen är unika, och om bild till bild10 finns i bildkata så fortsätter det med bild11 i bildkatb

Dessa filer ska kopieras till en annan grundkatalog, men ha samma underkatalog dvs såhär:

kopiera /bildkata/bild5 till /kopia/bildkata/bild5

Observera att första filnamnet inte har någon siffra på slutet.

Man skulle kunna göra något som kopierade dem, fil för fil, men det jag skulle vilja ha är just något som klarar av att antalet kataloger och filer kan vara olika utan att man behöver ändra scriptet.

Är det någon som skulle kunna hjälpa mig med detta?

Re: Python, gå igenom kataloger av visst namn och kopiera filer

Postat: 13 feb 2009, 23:56
av mcNisse
Jag tycker det verkar för jobbigt att använda python. Ett vanligt skalskript borde väl fungera?

Här har du ett enkelt utkast till funktion... :) Den förutsätter att du står i katalogen med underkataloger.

for d in bildkat*
do
[ -d $d ] && {
mkdir -p kopia/$d
cp $d/bild* kopia/$d
}
done

Du kan enkelt byta ut det fetstilade mot variabler.

Re: Python, gå igenom kataloger av visst namn och kopiera filer

Postat: 14 feb 2009, 02:21
av David Andersson
Eller ännu enklare (i en terminal, efter cd till rätt mapp)

Kod: Markera allt

mkdir kopia

cp -r bildkat* kopia
Men du kanske även gör andra saker i python-programmet så att du ändå vill ha det där?

Re: Python, gå igenom kataloger av visst namn och kopiera filer

Postat: 16 feb 2009, 11:42
av Default
Jag tänkte få scriptet så att man kunde föra över det till valfri plattform i slutänden. Dessutom ville jag lägga in så att man kunde logga lite olika saker.
Om filen var upptagen, om platsen var slut, och få ut det till en logg. Det var därför jag tänkte köra med python.