rsync
识别目的地是本地的rsync a/ /local/path/
还是远程的rsync a/ user@example.com:/path/to/
。
是否有类似的 URL 解析工具,内置在 Python 的 stdlib 中?
rsync
or的关键scp
是我们不想在前面加上 a ssh://
,它会自动将其解析为本地或远程,这就是我的要求。
urllib.parse
似乎不是我要找的东西:
import urllib.parse
print(urllib.parse.urlsplit('user@host.com:/home')) # SplitResult(scheme='', netloc='', path='user@host.com:/home', query='', fragment='')
print(urllib.parse.urlsplit('./slash@host.com:/home')) # could be both a local path with @ and : in dirname
print(urllib.parse.urlsplit('./slash@host.com:/home')) # or a remote with valid unix username "./slash"