Как разделить адрес SSH + путь?
Функция Python 3 получает SSH-адрес, такой как [email protected]:/random/file/path
, Я хочу получить доступ к этому файлу с paramiko
lib, которая требует имя пользователя, IP-адрес и путь к файлу отдельно.
Как я могу разделить этот адрес на эти 3 части, зная, что при вводе иногда пропускается имя пользователя?
2 ответа
Решение
str.partition
а также rpartition
буду делать что хочешь
def ssh_splitter(ssh_connect_string):
user_host, _, path = ssh_connect_string.partition(':')
user, _, host = user_host.rpartition('@')
return user, host, path
print(ssh_splitter('[email protected]:/random/file/path'))
print(ssh_splitter('132.243.32.14:/random/file/path'))
дает:
('user', '132.243.32.14', '/random/file/path')
('', '132.243.32.14', '/random/file/path')
использование
не установлено (p).isdisjoint(set("0123456789$,")) где p - SSH.