在不离开工作目录的情况下更改服务器中的目录

Change directory in a server without leaving the working directory

我有一个服务器。客户端可以发送路径,服务器应该 cd 到该路径。但事情是这样的。假设我在 test1 目录中有一个 test2 目录,test1 目录的路径是 C:\test1。客户端可以通过 cd test2\test1\test2 访问 test2 如果他想返回他可以使用 \test1 (我搜索并找到 os.chdir 但它需要完整路径,我没有)而且他不应该自由发送 E:\something 或类似的东西。只是 test1 中的目录。你有什么建议?我可以用什么来实现这个目标?

您可以将默认路径存储为一种根路径和 path.join(root, client_path) 这样您就有了一个必须以 C:\test1[= 开头的完整路径10=]

你要克服的问题是决定是否必须用客户端的命令加入当前路径或根路径。我会首先检查该目录是否存在于当前工作目录中,如果不存在,我会尝试在“根”路径中找到它