2016-04-17 2 views
-1

Ich versuche, eine Funktion zu schreiben, die drei Argumente verwendet: Datei1, Datei2 und neue_Datei, und schreibt den Inhalt von Datei1 und Datei2 in neue_Datei.Wie verkette ich den Inhalt von zwei Dateien zu einem dritten?

Zum Beispiel, wenn ich die Dateien hatte, txt1, txt2:

txt1 enthalten "Hallo Welt!"

txt2 enthalten "Kannst du mich hören?"

... und rief die Funktion

combine_files(file1, file2, new_file) 

new_file enthalten sollte "Hallo Wort! Kannst du mich hören?"

Meine Funktion sollte nichts zurückgeben.

Mein aktueller Code wie folgt aussieht, und ich bin zuversichtlich, dass es weit entfernt von jeder Art und Weise, dies zu tun ist:

def combine_files(file1, file2, new_filename): 
    file1 = "part1.txt" 
    file2 = "part2.txt" 
    new_filename = "result.txt" 

    text1 = open(file1).read() 
    text2 = open(file2).read() 
    text3 = open(new_filenane, "a") 
    text3.write(text1 + text2) 
+4

Während wir glücklich sind, bei den Hausaufgaben zu helfen, * wir * erwarten, dass Sie zumindest nach dem Code, den Sie versucht haben. –

+0

Was hast du bisher geschrieben? Diese Frage scheint für Freelancer.com besser geeignet zu sein. –

+0

Ich habe meinen aktuellen Code hinzugefügt, von dem ich weiß, dass er sehr falsch aussieht. –

Antwort

1

Hier ist ein einfacher Ansatz Kontext Manager mit:

def combine_files(file1, file2, new_filename): 
    with open(new_filename, 'w') as new_file: 
     for file in [file1, file2]: 
      with open(file, 'r') as original_file: 
       new_file.write(original_file.read()) 

Context Manager speichern Sie müssen offene Dateien verfolgen und daran denken, sie selbst zu schließen.

A simple context manager tutorial.

Verwandte Themen