когда приложение работает на машине linux
Это предложение в основном означает, что Python работает в Linux.Хотя это:
Это вызывается с компьютера с Windows, но клиент sftp открывает файл на удаленной машине Linux
на самом деле было тем, о чем это все.
Итак:
os
модуль работает в вашей ОС (где работает Python), предоставляя вам специфичные для ОС и правильные результаты
SSH (включаяSFTP-серверы не предоставляют то, какой CLI они используют, включая разделители.Они просто дают вам общий интерфейс для подключения (а в случае SFTP - передачу файлов), но в остальном это ваша проблема.- Я имел дело с сетевыми устройствами через ssh с использованием Python, мне пришлось, например, вручную разобраться с распознаванием ошибок и т. Д., Потому что вывод только текстовый.
Это означает, что если вы знаете, что будете подключаться кТолько для машин Linux, используйте это соединение (возможно, добавьте немного больше, если у вас есть путь к каталогу, который заканчивается на «/» - в вашем случае это приведет к «//» в пути).
Если вы подключитесь как к Windows, так и к Linux, сделайте запасной вариант - поймайте ошибку (или найдите ее вручную в выходных данных, я не работал с paramiko, поэтому я не знаю, как с этим справились), ииспользуйте другой разделитель как запасной вариант и запомните его для этого сеанса.