我有一个源路径,我收到的文件系统URL,我想从中解析为上面两个父母的绝对路径;最终类型为Path
对象是理想的。为此,我必须将其转换为URI
,然后转换为Path
,然后再将其调用getParent()
两次。
是否有更简洁的方法来执行此操作,以便我可以使用相对字符串URL
对URI
,Path
或../..
执行某些转换?我总是发现getParent()
多次调用横向路径,一眼就看不到直观,而不是提供../
的相对路径等。
// Example file system path as a URL
URL u = new URL("file:///a/b/c");
// Must convert to URI and then call 'getParent()' twice
Path p = Paths.get(u.toURI()).getParent().getParent();
答案 0 :(得分:0)
如果您在其他地方不需要URL变量,那么您可以跳过转换,如下所示:
import paramiko
transport = paramiko.Transport((host_name, 22))
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
现在,下一部分可能被视为比它需要的更复杂,但是如果你只需要文件夹名称,你可以做一个.getName(0)而不是两个.getParent()。但是,当您将其打印出来时,这不包括根,并且可能无法满足您的需求。
我希望这会有所帮助。