Name = SplitList[-i]
это ваша проблема. Когда вы используете отрицательный индекс, Python начинает отсчет с конца списка, начиная с 1. Итак, если у вас был список, a = [1, 2, 3, 4, 5]
, если вы сделаете a[-2]
, он будет считать 5
как индекс -1
затем 4
как индекс -2
и вернет его вам. Вот почему он возвращает первое имя файла, потому что -0
интерпретируется как индекс 0, но индекс -1
означает последний элемент списка, индекс -2
будет вторым последним элементом и т. Д.
Я написал код, он выводит то же, что вы просили, но я не уверен, что он соответствует вашим потребностям:
import os
from tkinter.filedialog import askdirectory
SelectDrive = askdirectory(title='Select Folder')
SubjectDetail = os.listdir(SelectDrive)
SplitList = [i.split() for i in SubjectDetail]
for person in SplitList:
print(*person)
Если вы хотите, чтобы ваш код оставался примерно таким же, вы должны иметь возможность просто использовать индекс i
, но без добавления отрицательного знака, и это должно решить вашу проблему: Name = SplitList[i]
.
Ура.