python傳輸檔案最重要的有兩步:
1).將要傳輸的檔案的資訊傳送過去,包括檔案包,大小以及其它資訊;
2).傳送端讀取檔案內容並傳送過去,接受端將快取裡面的內容寫入檔案.
傳送端:
# -*- coding: cp936 -*-
from socket import *
import os
import struct
addr = ('192.168.0.178',8000)
bufsize = 1024
filename = 'wubi.exe'
fileinfo_size=struct.calcsize('128s32si8s')
sendsock = socket(af_inet,sock_stream)
sendsock.connect(addr)
fhead=struct.pack('128s11i',filename,0,0,0,0,0,0,0,0,os.stat(filename).st_size,0,0)
sendsock.send(fhead)
fp = open(filename,'rb')
while 1:
filedata = fp.read(bufsize)
if not filedata: break
sendsock.send(filedata)
print "檔案傳送完畢,正在斷開連線..."
fp.close()
sendsock.close()
print "連線已關閉..."
接收端:
# -*- coding: cp936 -*-
from socket import *
import struct
addr = ('192.168.0.178',8000)
bufsize = 1024
fileinfo_size=struct.calcsize('128s32si8s')
recvsock = socket(af_inet,sock_stream)
recvsock.bind(addr)
recvsock.listen(true)
print "等待連線..."
conn,addr = recvsock.accept()
print "客戶端已連線—> ",addr
fhead = conn.recv(fileinfo_size)
filename,temp1,filesize,temp2=struct.unpack('128s32si8s',fhead)
#print filename,temp1,filesize,temp2
print filename,len(filename),type(filename)
print filesize
filename = 'new_'+filename.strip('\00') #...
fp = open(filename,'wb')
restsize = filesize
print "正在接收檔案... ",
while 1:
if restsize > bufsize:
filedata = conn.recv(bufsize)
else:
filedata = conn.recv(restsize)
if not filedata: break
fp.write(filedata)
restsize = restsize-len(filedata)
if restsize == 0:
break
print "接收檔案完畢,正在斷開連線..."
fp.close()
conn.close()
recvsock.close()
print "連線已關閉..."
該程式經過實際測試可用,大家經過修改相應**即可在本地進行測試使用。
用於傳送比較大的檔案時會比較慢,還可能照成命令列假死的情況...
python123登入 python實現使用者登入
1.實現使用者輸入使用者名稱和密碼,當使用者名為 seven 且 密碼為 123 時,顯示登陸成功,否則登陸失敗 tag true while tag name input name passwd input password if name seven and passwd 123 print l...
python實現使用者答題功能
python實戰,使用者答題分享給大家。主要包含內容,檔案的讀取,更改,儲存。不同資料夾引入模組。輸入,輸出操作。隨機獲取資料操作 隨機生成算數表示式,使用者輸入答案,正確記錄分數,錯誤返回0,並把使用者分數記錄到文字檔案中,如使用者名稱不存在著新建使用者 mypythonfunction.py包含...
實現用python刷王者榮耀金幣
刷冒險最後一關,需要滿符文 需要安裝adb,可以網上查閱怎麼安裝 將adb路徑加入環境變數 coding utf 8 created on wed feb 20 13 48 11 2019 qq區 趙雲,魯班,扁鵲 author 鄧磊 from subprocess import run impor...