TLDR; Преобразуйте строку bash для загрузки файлов sftp get Inbox/*
в c ++ или python. У нас нет разрешения на выполнение в каталоге Inbox
.
Я пытаюсь прочитать файлы, имеющиеся в каталоге на удаленном сервере, через SFTP. Подвох в том, что у меня были только права на чтение и запись в каталоге, а не на выполнение. Это означает, что любой метод, который требует открытия (cd
ing) в папку, потерпит неудачу. Мне нужно прочитать имена файлов, так как они являются переменными. Из того, что я понимаю ls
не требует выполнения прив. Если я могу получить список файлов в каталоге, тогда чтение будет хорошо. Вот структура каталогов:
Inbox
--file-a.txt
--file_b.txt
...
Я пробовал libs sh, но sftp_readdir требуется дескриптор открытого каталога. Я также посмотрел на paramiko для python, но для этого требуется открыть каталог для чтения имен файлов.
Я могу сделать это в bash с помощью send "get Inbox/* ${destination_dir}"
. В любом случае я могу использовать аналогичное сопоставление с образцом, но на c ++ или python?
Кроме того, я не могу выполнять команды bash через мой двоичный файл. Кто-нибудь знает какую-либо библиотеку в python или c ++ (предпочтительно), которая бы поддерживала это?
Я не публиковал здесь некоторое время, поэтому, пожалуйста, извините, если я не следую за форматированием. Я буду учиться на ваших предложениях. Спасибо!