zoukankan      html  css  js  c++  java
  • 切换目录

    # 切换目录(客户端代码)
    import socket
    import os
    
    sk = socket.socket()
    sk.connect(("127.0.0.1",8090))
    
    abs_path = input('请输入一个根目录:')
    sk.send(abs_path.encode('utf-8'))
    current_dir = sk.recv(1024).decode('utf-8')
    print(current_dir.split('--'))
    
    while 1:
        cmd = input('请输入指令>>>')
        sk.send(cmd.encode('utf-8'))
    
        if cmd.upper() == 'Q': # 退出循环
            break
    
        elif cmd == '..':
            current_dir = sk.recv(1024).decode('utf-8')
            print(current_dir.split('--'))
    
        elif cmd == 'cd':
            filename = input('请输入一个文件名>>>')
            sk.send(filename.encode('utf--8'))
            current_dir = sk.recv(1024).decode('utf-8')
            print(current_dir.split('--'))
    
        else:
            error = sk.recv(1024).decode('utf-8')
            print(error)
    # 切换目录(服务器端代码)
    import socket
    import os
    
    sk = socket.socket()
    sk.bind(('127.0.0.1',8090))
    sk.listen()
    conn,addr = sk.accept()
    
    
    def send_data(conn,path):
        try: # 当文件找不到时会出错,故用try来解决一问题
            list_dir = os.listdir(path)
            current_dir = '--'.join(list_dir)
            conn.send(current_dir.encode('utf-8'))
        except FileNotFoundError:
            conn.send('系统找不到指定的路径。'.encode('utf-8')) # 文件找不到时返回这个错误
    
    
    abs_path = conn.recv(1024).decode('utf-8')
    current_path = abs_path + '\'
    send_data(conn,current_path)
    
    while 1:
        cmd = conn.recv(1024).decode('utf-8')
        if cmd.upper() == 'Q':
            break
    
        elif cmd == '..':
            current_dir = current_path.split('\')[:-2]
            current_path = '\'.join(current_dir) + '\'
            send_data(conn,current_path)
    
        elif cmd == 'cd':
            filename = conn.recv(1024).decode('utf-8')
            current_path += filename + '\'
            send_data(conn,current_path)
    
        else:
            conn.send('指令错误'.encode('utf-8'))
  • 相关阅读:
    Cocos2d-x之绘制圆形
    Cocos2d-x之绘制填充矩形
    Cocos2d-x之绘制矩形
    Cocos2d-x之绘图API说明
    cocos2d-x之监听手机的物理按键
    cocos2d-x之加速度传感器
    cocos2d-x之多点触摸事件
    cocos2d-x之事件传递(onTouchBegan的返回值的作用)
    pickle
    配置文件
  • 原文地址:https://www.cnblogs.com/wjs521/p/9506388.html
Copyright © 2011-2022 走看看