socket实现目录路径的相关操作
本知识需要注意! 1.客户端输入路径后,到达服务器端需要先加上"/"否则可能会出错 2.找到该路径下的目录内容调用os的listdir()方法,返回的是一个列表的形式,必须将其格式化为字符串 3.目录内容格式化为字符串,需要用某个字符去作为分隔符,再用分隔符.join()的方法将列表转为指定分隔符分隔的字符串 4.到达客户端时,输出split()按某个特定分隔符分隔后的列表即可输出目录内容 5.服务器端的返回上一级目录时,其原理是去掉当前路径的路径名,如c:/test/111,要返回到test则需要去掉114 6.依据第五点的原理,需要将当前路径按windows的分隔符进行分隔,但是此方法分隔成列表后列表最后一个元素会多出一个空格, 所以去掉路径名的同时也需要去掉空格,即在split()后加上[:-2]即可(去掉列表最后的两个元素) #server层 import socket import os sk=socket.socket() sk.bind(("10.70.2.143",8080)) sk.listen() conn,addr=sk.accept() #获取当前路径,以后的操作都需要根据该路径进行操作 abs_path=conn.recv(1024).decode("utf-8") #需要加上"/"否则可能会出错 current_path=abs_path+"/"