标签:
没有什么事情可以做,无聊的很 写个最简单的ftp吧---说白了就是一个简单的文件上传。QAQ
思路:client --读取文件的一行 然后发到server端 然后server 读取 写入文件的一行
先写客户端
#_*_coding:utf-8_*_
import socket,sys,os
def upload_file(filename):
cli = socket.socket()
ip_port = (‘localhost‘,8080)
cli.connect(ip_port)
cli.send(filename)
with open(filename,‘rb‘) as fe:
for i in fe.readlines():
cli = socket.socket()
ip_port = (‘localhost‘,8080)
cli.connect(ip_port)
cli.send(i)
def client(argv):
if len(argv)!=2:
sys.exit("2 argument expected but %s given" %len(argv))
msg = check_argv=(argv[1])
if msg:
upload_file(argv[1])
def check_argv(filename):
if(os.path.isfile(filename)):
msg = "no file or directory --->%s"% filename
return msg
else:
return None
if __name__ == "__main__":
print sys.argv[1]
client(sys.argv)
然后是 server端
#_*_coding:utf-8_*_
import socket
def main():
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((‘localhost‘,8080))
s.listen(5)
conn,address = s.accept()
filename = conn.recv(1024)
row_data = filename[2:]
filename = "D:%s" % row_data
conn.close()
with open(filename,"w+") as fe:
while 1:
conn,address = s.accept()
clidata = conn.recv(1024)
print clidata,"------->"
fe.write(clidata)
fe.flush()
if __name__ == "__main__":
main()
因为是在本机器上面做的 请忽略ip吧
标签:
原文地址:http://www.cnblogs.com/nerdlerss/p/5828218.html