Определение переменной - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть программа, где я беру последний файл из папки.

def getList():
    previousFile = ''
    Files = glob.glob("C:\\Users\\kshah2\\Desktop\\MDR\\*")
    LatestFile = max(Files, key =os.path.getctime)
    if previousFile == '':
        previousFile = LatestFile
    if LatestFile != previousFile:
        File = open(LatestFile, "r")
        asc_list = [line for line in File.readlines()]
        event.source.parent.getComponent('Text Area').text = (system.file.readFileAsString(LatestFile))
        event.source.parent.getComponent('Label 1').text = str(LatestFile)
        event.source.running = 0
        event.source.value = 0
        previousFile = LatestFile
        File.close()
        return asc_list
    else:
        messageBox("Its Already used")
    return ''

Проблема в том, что если я оставлю это так, каждый раз, когда вызывается функция, предыдущий файл будет удален, что означает, что он будет захватывать последний файл независимо от того, выполняется он или нет.

Но в то же время, если у меня нет первых двух строк, я выдаю ошибку, что предыдущий файл не определен.

Где мне объявить предыдущий файл? И как мне назначить имя LastFile для предыдущего файла? Я знаю, что это должно быть что-то довольно простое, но просто не могу понять.

1 Ответ

0 голосов
/ 05 ноября 2018

Вопрос не очень хорошо описан, но, насколько я понимаю, решение потребует от вас сохранить 'previousFile' в качестве глобальной переменной.

class FileManage:
    def __init__(self):
        self._previousFile = ''

    def listSaver(self):
        for i in NumberOfFiles:
            self.getList()  

    def getList(self):
        # Use the global self._previousFile. 

файл self._previousFile сохраняется после его завершения и инициализируется один раз в начале.

Если вам трудно понять занятия, вы можете прочитать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...