Mir ist auch heute mein eigentlich größter Fehler aufgefallen. Warum sollte ich den darauf warten, dass der Permission Error auftritt vor allem da theoretisch irgendwann auch mal ein Rechte Problem auftauchen kann also Admin benötigt und alles dann sowieso niemals enden würde.
Und nachdem ich davon abgekommen bin, dass ich unbedingt die Fehlermeldung bekämpfen muss umgehe ich sie jetzt einfach.
Code: Alles auswählen
def get_permission(path):
for root, dirs, files in os.walk(path, topdown=True):
for name in files:
os.chmod(os.path.join(root, name), stat.S_IWRITE)
Code: Alles auswählen
import os
import shutil
import time
import stat
benutzer = os.getlogin()
path_new = r"\\srv-23v-isea-01\temp\CPO\aft_GRCLITE"
def remove_files(path):
for filename in os.listdir(path):
try:
print(filename + " wird entfernt")
shutil.rmtree(os.path.join(path, filename))
except FileNotFoundError:
print("Zu Löschende Datei konnte nicht gefunden werden")
def add_files(path_new):
for filename_new in os.listdir(path_new):
time.sleep(2)
print(os.path.join(filename_new + " wird eingefügt"))
shutil.copytree(os.path.join(path_new, filename_new), os.path.join(path, filename_new))
def get_permission(path):
for root, dirs, files in os.walk(path, topdown=True):
for name in files:
os.chmod(os.path.join(root, name), stat.S_IWRITE)
for path in[r"C:\cad\vwg\catia\vwgrclite\opt\aft",
r"C:\catiav5\vwg\catia\vwgrclite\opt\aft",]:
if os.path.isdir(path):
print("Hallo " + benutzer)
print('Bitte beachte, dass beim Forfahren Catia beendet wird!!\nBitte alle Daten speichern und anschließend "Enter" drücken')
close = input()
if close == '':
os.system("taskkill /f /im CNEXT.exe")
print("Die alten Additionals werden entfernt.")
get_permission(path)
time.sleep(2)
remove_files(path)
print("Alle Datein erfolgreich entfernt")
time.sleep(2)
os.system("cls")
add_files(path_new)
os.system("cls")
print("Der Austausch ist abgeschlossen.\nZum beenden Enter drücken.")
input()
else:
print('Programm wird beendet')