Ich habs vorher vergessen zu schreiben, In: A byte of Python, ist ein Beispielcode zum Backups machen (http://abop-german.berlios.de/read/the-solution.html).
Man sollte os.system mit subprocess.call oder subprocess.Popen ersetzten
Code: Alles auswählen
def Kopieren(path, ziel):
for i in os.listdir(path):
if os.path.isdir(path+i) and os.path.exists(ziel+i) == False:
os.mkdir(ziel+i)
Kopieren(path+i, ziel+i)
elif os.path.isdir(path+i) and os.path.exists(ziel+i):
Kopieren(path+i, ziel+i)
elif os.path.isfile(path+i):
filesave(ziel+i, fileopen(path+i))
else:
print(i)Nein du sollst nicht raten, genauso solltest du keine Zeichen in den Quelltext streuen und hoffen dass es klappt, sondern einfach anschauen, was da steht (`print`, `logging`, `Debugger`, ...) dir dann ueberlegen wie es dazu kam und dann das richtige Gegenmittel waehlen.Py-Prog hat geschrieben:Last mich raten ich hab (wieder mal) vergessen das da noch '\\' dazugehört.
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\Adrian\Desktop\Fastbackup.auto.pyw", line 91, in <module>
backup('D:\\Py-Prog\\Python\\Projekte\\Backup\\Backupinfo\\')
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 36, in backup
Kopieren(Pfad, Ziel)
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\Fastbackup.auto.pyw", line 87, in Kopieren
Kopieren(path+'\\'+i, ziel+'\\'+i)
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 87, in Kopieren
Kopieren(path+'\\'+i, ziel+'\\'+i)
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 87, in Kopieren
Kopieren(path+'\\'+i, ziel+'\\'+i)
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 89, in Kopieren
filesave(ziel+'\\'+i, fileopen(path+'\\'+i))
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 68, in fileopen
dtt=f.read()
File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 320: character maps to <undefined>Kann es sein, dass du aus irgendeinem kuriosen Grund versuchst, den Dateiinhalt selber auszulesen und zu schreiben, statt die passenden Funktionen aus der Python-Library zu verwenden?Py-Prog hat geschrieben:Code: Alles auswählen
File "C:\Dokumente und Einstellungen\Py-Prog\Desktop\backup.auto.pyw", line 68, in fileopen dtt=f.read() File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 320: character maps to <undefined>
Wie hast Du es denn jetzt gelöst? Ich hoffe mal mit den dafür gedachten FunktionenPy-Prog hat geschrieben:@cofi Danke es geht jetzt.
Code: Alles auswählen
IOError: [Errno 13] Permission denied:Code: Alles auswählen
f=open(path, 'r')Code: Alles auswählen
f=open(path, 'rb')Woher weißt Du das? Quelle?Py-Prog hat geschrieben:ausgetauscht und das bein speichern natülich auch. (shutil nim ja das gleiche her also ist's doch egal)Code: Alles auswählen
f=open(path, 'rb')
Code: Alles auswählen
def copyfile(src, dst):
"""Copy data from src to dst"""
if _samefile(src, dst):
raise Error("`%s` and `%s` are the same file" % (src, dst))
with open(src, 'rb') as fsrc:
with open(dst, 'wb') as fdst:
copyfileobj(fsrc, fdst)
def copyfileobj(fsrc, fdst, length=16*1024):
"""copy data from file-like object fsrc to file-like object fdst"""
while 1:
buf = fsrc.read(length)
if not buf:
break
fdst.write(buf)Na ja, ich schau mir gern mal die Dateien der Module an und da hab ich bei shutil das gefunden. Was wundert dich das so? (vieleicht weil ich sonst dumme frage stelle wie man wirgendwas macht?)Hyperion hat geschrieben:Woher weißt Du das? Quelle?Py-Prog hat geschrieben:ausgetauscht und das bein speichern natülich auch. (shutil nim ja das gleiche her also ist's doch egal)Code: Alles auswählen
f=open(path, 'rb')
Ist bei Anfängern eher selten der Fall - zumal das ganze Prozedere sonderbar ist, da Du ja das Modul offensichtlich evaluiert hast, es aber dennoch nicht nutzt!Py-Prog hat geschrieben: Na ja, ich schau mir gern mal die Dateien der Module an und da hab ich bei shutil das gefunden. Was wundert dich das so? (vieleicht weil ich sonst dumme frage stelle wie man wirgendwas macht?)