Python 3函数接收类似user@132.243.32.14:/random/file/path
的SSH地址。我想使用paramiko
lib访问此文件,该文件需要单独的用户名,IP地址和文件路径。
如果知道输入有时会省略用户名,我怎么能将这个地址拆分成这3个部分?
答案 0 :(得分: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('user@132.243.32.14:/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')
答案 1 :(得分:-3)
未设置(p).isdisjoint(set(“0123456789 $,”))其中p是SSH。