Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen  (gelezen 1953 keer)

Offline xellos

  • Lid
  • Steunpunt: Nee
ik heb dit

import os

path='/home/jeremy/a'
filelist=[os.listdir(path)
for files in filelist:
    print files
   

dit werkt hij print de de namen van alle files in die dir.
maar nu wil ik de namen een voor een benaderen en hernoemen maar hoe ik heb van alles al geprobeerd.
 

Offline Cumulus007

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #1 Gepost op: 2009/02/26, 09:30:30 »
Je sluit de vierkante haakjes niet goed af.

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #2 Gepost op: 2009/02/26, 09:51:52 »
Ik denk eerder dat het een copy/paste foutje is, aangezien hij de files te zien krijgt.

De vraag is: welke bestanden wilt ge hernoemen en tot wat? Als ge moet zoeken naar een bepaald woord in een bestandsnaam kunt ge re gebruiken. Dan moet ge ook nog weten tot wat ge dit wilt hernoemen.

Offline xellos

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #3 Gepost op: 2009/02/26, 11:42:15 »
hij moet bij alle gevonden files de eerste 10 letter uit de file names halen .

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #4 Gepost op: 2009/02/26, 13:04:07 »
import os

path='/home/jeremy/a'
filelist=[os.listdir(path)]
for file in filelist:
    os.rename(file, file[10:])

http://docs.python.org/library/os.html#os.rename

Offline xellos

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #5 Gepost op: 2009/02/27, 15:42:36 »
import os

path='/home/jeremy/a'
filelist=[os.listdir(path)]

for files in filelist:
os.rename(files, files[15:])   


dit werkt niet

ik krijg deze error
    os.rename(files, files[15:])
TypeError: coercing to Unicode: need string or buffer, list found


Offline Cumulus007

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #6 Gepost op: 2009/02/27, 16:04:13 »
Gokje, maar met
filelist=[os.listdir(path)]
plaats je toch een list in een list? Moeten die vierkante haken niet weg?

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #7 Gepost op: 2009/02/27, 17:02:55 »
klopt..

Offline xellos

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #8 Gepost op: 2009/02/27, 17:14:33 »
dat werkt ook niet hoor

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #9 Gepost op: 2009/02/27, 18:22:32 »
als het goed is krijg je nu wel een andere foutmelding? Iets over path not found oid?

Offline xellos

  • Lid
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #10 Gepost op: 2009/02/28, 16:15:00 »
ja dat klopt maar de path is wel goed duz whats wrong?? ???

Offline Kiwinote

  • Lid
    • Launchpad
  • Steunpunt: Nee
Re: filenames van os.listdir(path) 1 voor 1 benaderen en hernoemen
« Reactie #11 Gepost op: 2009/02/28, 21:24:36 »
in additie tot de eerdergegeven opmerking ook onderstaande code gebruiken:os.rename(path + "/" + files,path + "/" + files[15:])ik denk dat dit wellicht zou kunnen werken..