パイソン、ソケット通信プログラム、ファイルアップロードの例

file_receive.pyとfile_send.pyプログラムを書く、file_send.pyからファイルをアップロードし、アップロードされたファイルを受信するfile_receive.py、パッケージに指定されて書かれ

#file_receive.py 
輸入
ソケット、サブプロセス、OS BASE_DIR = os.path.dirname(os.path.abspath(__FILE__ )) SK = socket.socket、()、 アドレス =(' 127.0.0.1 '、8001 sk.bind(アドレス) sk.listen( 3 CONN、ADDR = sk.accept() FileInfo = conn.recv(1024 ファイル名、ファイルサイズ = STR(FileInfoに、' UTF8 ').split(' | ' ファイル名= STR(ファイル名'UTF8') ファイルサイズ= INT(STR(ファイルサイズ'UTF8')) パス=はos.path。参加する(BASE_DIR、' file_recv ' 、ファイル名) F =オープン(パス、' WB ' has_received = 0 ながら!has_received = INT(ファイルサイズ): データ = conn.recv(1024 f.write(データ) has_received + = LEN(データ) f.close() 印刷よくやりました sk.close()
file_send.py 
輸入ソケット、OS
BASE_DIR = os.path.dirname(os.path.abspath(__FILE__ ))
SK = socket.socket、()、
アドレス =(' 127.0.0.1 '、8001 
sk.connect(アドレス)
ファイル名 =入力(入力ファイル名をしてください:
パス = os.path.join(BASE_DIR、ファイル名)
ファイルサイズ = はos.stat(パス).st_size
FileInfo = ' %sの|%sの'(ファイル名、STR(ファイルサイズ))
sk.sendall(バイト(FileInfoに、' UTF8 ' ))

F =オープン(パス、' RB ' 

has_sent = 0
 しばらく has_sent =!INT(ファイルサイズ):
    データ = f.read(1024 
    sk.sendall(データ)
    has_sent + = LEN(データ)

印刷よくやりました!
f.close()
sk.close()

ファイルが実行された後、電流経路にfile_recvパッケージにアップロードアップロードfile_send.pyのtest.pngファイルを達成するために。

おすすめ

転載: www.cnblogs.com/iceberg710815/p/12034518.html