Kopieren von Dateien in Python 2.7

Ok, ich habe eine andere Frage. Ich habe die Fehlerüberprüfung implementiert, aber aus irgendeinem Grund funktioniert es immer noch nicht. Ich bekomme immer noch einen Python-Fehler anstelle des Fehlers, den ich gerade im Programm geschrieben habe.

Traceback (most recent call last):
  File "E:/python/copyfile.py", line 31, in 
    copyFile()
  File "E:/python/copyfile.py", line 8, in copyFile
    file1 = open(source,"r")
IOError: [Errno 2] No such file or directory: 'C:/Users/Public/asdf.txt'
0
Mögliches Duplikat von stackoverflow.com/q/8380006/1579844
hinzugefügt der Autor Yariv, Quelle
Traceback (letzter Aufruf zuletzt): Datei "", Zeile 1, in copyFile() Datei "E: /python/copyfile.py", Zeile 6, in copyFile file1 = open (Quelle, "r") IOError: [Errno 2] Keine solche Datei oder Verzeichnis: '/Users/Public/asdf.txt' Das ist der Fehler, den ich bekomme.
hinzugefügt der Autor Aegg, Quelle
Alles klar Ich habe es herausgefunden ... Danke an euch :) Das Problem war, dass ich es versucht habe und außer Aussagen an den falschen Stellen. Mit einem schnellen Zug wurde das Problem schnell gelöst. Danke nochmal.
hinzugefügt der Autor Aegg, Quelle
Bitte verunstalten Sie Ihre Frage nicht, nachdem Sie Antworten darauf erhalten haben. Fragen dienen nicht nur dem Fragesteller, sondern vielen Besuchern in der Zukunft.
hinzugefügt der Autor Brad Larson, Quelle
Nur zur Information, es gibt shutil.copyfile (src, dst) .
hinzugefügt der Autor squiguy, Quelle
Was macht Ihr Programm, wenn Sie einen ungültigen Dateinamen eingeben? Das sollte Ihnen eine Vorstellung davon geben, wonach Sie suchen sollten, wenn Sie versuchen, Dateien zu lesen/zu schreiben. Wissen Sie, wie Sie die Ausnahmebehandlung implementieren? Wenn nicht, machen Sie eine schnelle Google-Python-Ausnahmebehandlung und sehen Sie, was Ihnen einfällt. Viel Glück :)
hinzugefügt der Autor bedwyr, Quelle

2 Antworten

Überprüfen Sie das Modul shuthil in der Standardbibliothek:

shutil.copyfile(src, dst)

http://docs.python.org/2/library/shutil.html # shutil.copyfile

0
hinzugefügt
Ich darf keine eingebauten Funktionen verwenden. Wie auch immer, ich habe es aktualisiert ... aber anscheinend ist der Scheck immer noch nicht ganz richtig ..
hinzugefügt der Autor Aegg, Quelle

Ich möchte Sie lieber bitten, selbst zu schreiben:

import os
import hashlib

def md5ChkSum(_file):  # Calculates MD5 CheckSum
    with open(_file, 'rb') as fp:
        hash_obj = hashlib.md5()

        line = fp.readline()
        while line:
            hash_obj.update(line)
            line = fp.readline()
        return hash_obj.hexdigest()

def copier(_src, _dst):
    if not os.path.exists(_src):
        return False

    _src_fp = open(_src, "r")
    _dst_fp = open(_dst, "w")

    line = _src_fp.readline()
    while line:
        _dst_fp.write(line)
        line = _src_fp.readline()
    _src_fp.close()
    _dst_fp.close()

    if md5ChkSum(_src) == md5ChkSum(_dst):
        return "Copy: SUCCESSFUL"
    return "Copy: FAILED"

res = copier(r"/home/cnsiva/6.jpg", r"/home/cnsiva/6_copied.jpg")
if not res:
    print "FILE Does not Exists !!!"
else: print res

AUSGABE:

Copy: SUCCESSFUL
0
hinzugefügt
@khachik, macht es keinen Ärger, hier bleiben wir nicht bei den Stylings. Auf die Funktionalität prüfen !!!
hinzugefügt der Autor Siva Cn, Quelle
@ khachik, die Frage ist nicht die eingebauten Methoden zu verwenden
hinzugefügt der Autor Siva Cn, Quelle
Überprüfen Sie den Kommentar zu der anderen Antwort
hinzugefügt der Autor Siva Cn, Quelle
Kopierer ist kein guter Name für eine Funktion.
hinzugefügt der Autor khachik, Quelle
Für die Funktionalität gibt es Shut-Up, es muss nicht neu erfunden werden.
hinzugefügt der Autor khachik, Quelle
shuthil ist nicht integriert und ich sehe in der Frage auch nichts über die eingebauten Komponenten.
hinzugefügt der Autor khachik, Quelle