2017-10-24 6 views
-1

Grundsätzlich möchte ich eine Funktion eines bestimmten Bereichs (sagen wir 7) erstellen, die eine Liste wie folgt erzeugt:Erstellen Sie eine Funktion, die eine Liste von Dateinamen mit einem gemeinsamen Präfix und einer eindeutigen Ganzzahl als letztes Zeichen erstellt

list_of_filenames = ['my_file1.json', 'my_file2.json', 'my_file3.json', 'my_file4.json', 'my_file5.json,' 'my_file6.json', 'my_file7.json'] 

Hier ist, was ich bisher habe:

def make_files_list(file_prefix): 
    filenames_list = [] 
    for file in range(7): 
     file = '{0}'.format(file_prefix)+ str(1) + '.json' 
     filenames_list.append(file) 
    return filenames_list 

final_files_list = make_files_list('my_file') 

Aber natürlich bekomme ich nur eine Liste mit allen den gleichen Dateinamen mit ‚1‘ als das letzte Zeichen, wie:

list_of_filenames = ['my_file1.json', 'my_file1.json', 'my_file1.json', 'my_file1.json', 'my_file1.json,' 'my_file1.json', 'my_file1.json'] 

Ich verstehe, warum meine Funktion nicht richtig funktioniert, aber ich weiß nicht, wie Sie es beheben, so dass nachfolgende nachfolgende Zahlen zu jedem nachfolgenden Listenelement hinzugefügt werden.

+1

Es sollte 'str (Datei) sein', 'nicht str (1)'. – zondo

+0

Vielen Dank für Ihre Hilfe! – TJE

Antwort

1
def make_files_list(file_prefix): 
    filenames_list = [] 
    for file in range(7): 
     file = '{0}'.format(file_prefix)+ str(1) + '.json' <--- you always call str(1) 
     filenames_list.append(file) 
    return filenames_list 

final_files_list = make_files_list('my_file') 

-

versuchen diese stattdessen

def make_files_list(file_prefix): 
    filenames_list = [] 
    for x in range(7): 
     file = '{0}'.format(file_prefix)+ str(x) + '.json' 
     filenames_list.append(file) 
    return filenames_list 

final_files_list = make_files_list('my_file') 
+0

Ja, danke, das war's! – TJE

Verwandte Themen