2016-05-05 2 views
1

Ich habe ein großes Verzeichnis mit Bilddateien und muss ein Zeichen im Namen jedes Dateinamens ändern. Das Zeichen befindet sich an der gleichen Stelle in jedem Dateinamen (17). Ich denke, ich muss die "Ersetzen" -String-Funktion verwenden, aber da ich Python sehr neu bin, bin ich mir nicht sicher, wie ich das in ein Skript schreiben soll (ich arbeite in GIS und habe gerade angefangen, Python zu lernen). Jede Hilfe würde sehr geschätzt werden. Die Figur, die ich ändern müssen, ist die ‚1‘ nach dem Dateinamen Nepal_Landscape_S1_LayerStacked_IM9_T44RQR_stack4.tif Nepal_Landscape_S'in Ich muss einfach diese 2 ändern, wie: Nepal_Landscape_S2_LayerStacked_IM9_T44RQR_stack4.tifPYTHON - Wie man ein Zeichen in vielen Dateinamen innerhalb eines Verzeichnisses ändert

+0

was mit 's =‚Nepal_Landscape_S1_LayerStacked_IM9_T44RQR_stack4.tif‘falsch ' ' s = s.replace ('1', '2') ' – danidee

Antwort

1

Sie können die Zeichenfolge replace Methode verwenden wie Sie vermuten, zusammen mit os.rename.

import os 
files = os.listdir("path/to/files") 
for src in files: 
    dst = src.replace('S1', 'S2') 
    os.rename(src, dst) 

Wenn Sie in der Lage sind Ihre Shell für diese Art von Aufgabe zu verwenden, kann es einfachere Lösungen, wie der rename bash Befehl: rename S1 S2 *S1*