2017-02-03 8 views
0

Ich habe Probleme beim Erstellen einer Liste von Dateinamen. Ich möchte eine Liste von Dateien, die sind wie file_1.txt file_2.txt usw.Wie erstelle ich eine Liste von Dateinamen?

tat ich folgende

x= ['file_'] 
y= range(1,57) 
z= x + y 

Ich erwartete z wird wie seine file_1.txt, file_2.txt und so weiter, aber etwas anderes passierte. Wie kann ich das erreichen?

Antwort

2

Sie einfach Liste Verständnis hier verwenden können:

z = ['file_%s'%y for y in range(1,57)] 

Und das erzeugt:

$ python3 
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> z = ['file_%s'%y for y in range(1,57)] 
>>> z 
['file_1', 'file_2', 'file_3', 'file_4', 'file_5', 'file_6', 'file_7', 'file_8', 'file_9', 'file_10', 'file_11', 'file_12', 'file_13', 'file_14', 'file_15', 'file_16', 'file_17', 'file_18', 'file_19', 'file_20', 'file_21', 'file_22', 'file_23', 'file_24', 'file_25', 'file_26', 'file_27', 'file_28', 'file_29', 'file_30', 'file_31', 'file_32', 'file_33', 'file_34', 'file_35', 'file_36', 'file_37', 'file_38', 'file_39', 'file_40', 'file_41', 'file_42', 'file_43', 'file_44', 'file_45', 'file_46', 'file_47', 'file_48', 'file_49', 'file_50', 'file_51', 'file_52', 'file_53', 'file_54', 'file_55', 'file_56'] 
2

Sie ein Verständnis Liste verwenden zusammen mit der Verwendung von str.format als:

#   v `{}` will be replaced with value of `i` with each iteration 
>>> ['file_{}'.format(i) for i in range(1,5)] 
['file_1', 'file_2', 'file_3', 'file_4'] 
1

Wenn Sie haben wollen Verwenden Sie eine Liste und eine for-Schleife zusammen mit String-Formatierung. Wenn Sie etwas mit dem Dateinamen tun müssen, greifen Sie einfach auf die Liste zu.

fileList = [] 

for i in range(0,5): 
    fileList.append("File_%s" %i) 

print(fileList) 

#Output: ['File_0.txt', 'File_1.txt', 'File_2.txt', 'File_3.txt', 'File_4.txt'] 
Verwandte Themen