python--基本 - 単純なファイルのアップロード

post_server

輸入ソケット
 輸入OS 
SK = socket.socket()
アドレス =(' 127.0.0.1 '、8000 
sk.bind(アドレス)
sk.listen( 3 印刷' 待って... ' 
BASE_DIR = os.path.dirname (os.path.abspath(__FILE__ )) 

一方 1 
    CONN、ADDR = sk.accept()
     一方、 1 
        データ = conn.recv(1024 
        CMD、ファイル名、ファイルサイズ = STR(データ、'UTF-8 ').split(' | ' 
        パス = os.path.join(BASE_DIR、' ポスト' ファイル名)
        ファイルサイズ = INT(ファイルサイズ)

        F =オープン(パス、' AB " 
        has_receive = 0
         しばらく has_receive! = ファイルサイズ:
            データ = conn.recv(1024 
            f.write(データ)
            has_receive + = LEN(データ)
        f.close()

 

post_client:

輸入ソケット
 輸入OS 
SK = socket.socket()
アドレス =(' 127.0.0.1 '、8000 

sk.connect(アドレス)

BASE_DIR = os.path.dirname(os.path.abspath(__FILE__ ))


しばらく真:
    INP =入力(' >>> ' ).strip()

    CMD、パス = inp.split(' | ' 

    パス = os.path.join(BASE_DIR、パス)

    ファイル名 = os.path.basename(パス)

    FILE_SIZE =os.stat(パス).st_size 

    file_info = ' ポスト|%S |%S '(ファイル名、FILE_SIZE)

    sk.sendall(バイト(file_info、' UTF-8 ' ))

    F =オープン(パス、' RB ' 
    データ = f.read(1024 
    has_sent = 0
     しばらく has_sent =!FILE_SIZE:
        データ = f.read(1024 
        sk.sendall(データ)
        has_sent + = LEN(データ)


f.close()
印刷' 上传成功'

 

おすすめ

転載: www.cnblogs.com/zzzi/p/11494533.html