Ich versuche ein Skript (Python 2.7) zu schreiben, das einen regulären Ausdruck verwendet, um bestimmte Dateien in einem Ordner zu identifizieren und in einen anderen Ordner zu verschieben. Wenn ich das Skript ausführe, wird der Quellordner jedoch in den Zielordner verschoben und nicht nur in die darin enthaltenen Dateien.Python-Skript zum Verschieben bestimmter Dateien von einem Ordner in einen anderen
import os, shutil, re
src = "C:\\Users\\****\\Desktop\\test1\\"
#src = os.path.join('C:', os.sep, 'Users','****','Desktop','test1\\')
dst = "C:\\Users\\****\\Desktop\\test2\\"
#dst = os.path.join('C:', os.sep, 'Users','****','Desktop','test2')
files = os.listdir(src)
#regexCtask = "CTASK"
print files
#regex =re.compile(r'(?<=CTASK:)')
files.sort()
#print src, dst
regex = re.compile('CTASK*')
for f in files:
if regex.match(f):
filescr= os.path.join(src, files)
shutil.move(filesrc,dst)
#shutil.move(src,dst)
Also im Grunde gibt es Dateien in „Test1“ Ordner, den ich auf „test2“ verschieben möchten, aber nicht alle Dateien, nur diejenigen, die „CTASK“ am Anfang enthalten.
Der **** im Pfad ist, meine Arbeit Benutzernamen zu schützen.
Sorry, wenn es chaotisch ist, versuche ich immer noch ein paar Dinge aus.
' os.path.join (src, files) 'sollte eine Ausnahme erzeugen. (Angenommen, alle Dateien in der Quelle beginnen mit "CTAS" plus 0 oder mehr "K" -Zeichen, was wahrscheinlich nicht das ist, wonach Sie eigentlich suchen sollten.) – glibdud