Я пытаюсь получить последний новый файл в каталоге удаленного Linux сервера. Файл на SFTP-сервере создается каждые 4 часа, и имя файла c начинается с filegen_date_hour.json
, как показано ниже. В этом случае последний файл 'filegen_20200101_0800. json' необходимо перенести в мой локальный каталог.
filegen_20200101_0000.json
filegen_20200101_0400.json
filegen_20200101_0800.json
Я использую код Python 3 ниже, но получил ошибку
latestFile = max(listFile, key=os.path.getctime)
ValueError: max() arg is an empty sequence
SFTP код ниже
myHostname = "192.168.100.10"
myUsername = "user"
myPassword = "password"
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
with sftp.cd('/home/operation/genfiles/'):
fileDir = '/home/operation/genfiles/filegen_*.json'
**#file have specific pattern with filegen_*.json**
listFile = glob.glob(fileDir)
latestFile = max(listFile, key=os.path.getctime)
sftp.get(latestFile)
Благодарим вас за помощь в этом вопросе. Спасибо за ваш ответ и помощь.