Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在不离开工作目录的情况下更改服务器中的目录_Python_Sockets_Directory_Cd - Fatal编程技术网

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

Python 在不离开工作目录的情况下更改服务器中的目录,python,sockets,directory,cd,Python,Sockets,Directory,Cd,我有一台服务器。客户端可以发送路径,服务器应该cd发送到该路径。但事情是这样的。假设我在test1目录中有一个test2目录,而test1目录的路径是C:\test1。客户可以通过cdtest2和\test1\test2访问test2,如果他想回去,他可以使用\test1(我搜索并找到了os.chdir,但它需要完整的路径,我没有),他不应该自由发送E:\something或类似的东西。只有test1中的目录。你有什么建议?我可以使用什么来实现这一点?您可以将默认路径存储为一种根路径和路径。连接

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

您可以将默认路径存储为一种根路径和路径。连接(根,客户端路径)这样您就有了一个完整的路径,该路径必须从C:\test1开始


您必须克服的问题是决定是否必须使用客户机的命令连接当前路径或根路径。我将首先检查当前工作目录中是否存在该目录,如果不存在,我将尝试在“根”路径中查找它

如果您的根是C:\test1,并且您发送“test2\test3\test4”,它将发送您到“test1/test2/test3/test4”,如果您现在发送“test2”,它将加入根(C:\test1)和“test2”。您必须克服的问题是决定是否必须使用客户机的命令连接当前路径或根路径。我会首先检查当前工作目录中是否存在该目录,如果不存在,我会尝试在“根”路径中查找它。“您必须克服的问题是,决定是否必须使用客户端的命令连接当前路径或根路径。我会首先检查目录是否存在于当前工作目录中,如果不存在,我会尝试在“根”路径中查找它“”是我的答案谢谢请将此部分添加到您的答案中以供其他人使用