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

Här diskuteras programmering och utveckling
Default
Inlägg: 2
Blev medlem: 13 feb 2009, 11:58
OS: Ubuntu

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

Inlägg 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?
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

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

Inlägg 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.
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

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

Inlägg 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?
Default
Inlägg: 2
Blev medlem: 13 feb 2009, 11:58
OS: Ubuntu

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

Inlägg 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.
Skriv svar

Återgå till "Programmering och webbdesign"