2017-11-19 2 views
-1

Ich lerne Python und auch Englisch. Und ich habe ein Problem, das vielleicht einfach ist, aber ich kann es nicht lösen. Ich habe einen Ordner .txt ist, ich in der Lage war, eine Folge von Zahlen jeden one.I durch regulären Ausdruck zu extrahieren muß jede Datei mit der Sequenz umbenennen ich aus extrahierten .txtZeichen vor dem Umbenennen entfernen

import os 
import re 

path_txt = (r'C:\Users\usuario\Desktop\files') 

name_files = os.listdir(path_txt) 

for TXT in name_files: 
    with open(path_txt + '\\' + TXT, "r") as content: 
     search = re.search(r'(([0-9]{4})(/)(([1][9][0-9][0-9])|([2][0-9][0-9][0-9])))', content.read()) 
    if search is not None: 
     os.rename(os.path.join(path_txt, TXT), 
        os.path.join("Processos3", search.group(0) + "_" + str(random.randint(100, 999)) + ".txt")) 

einige Sequenzen haben Zeichen wie "/", wenn ich "Umbenennen" verwende, gibt es einen Fehler zurück, weil ich Dateien mit diesem Typ von Zeichen nicht umbenennen kann. Wie lösche ich das "/", bevor ich die Datei umbenenne?

ps: mit Python 3

+0

warum nicht mit 'ersetzen ("/", "")'? –

Antwort

0

try this:

search = search.replace("/", "") 
Verwandte Themen