python 服务器 客户端,python 客户端程序
之前写过一篇关于FTP服务器的文章,我来介绍一下客户端。在使用虚拟机的时候,虚拟机工具没有安装好,所以我决定通过FTP在主机和虚拟机之间传输文件,在虚拟机上打开FTP服务,然后把客户端放到主机上。当然也可以反过来。
关于服务器端的信息,请参考python实现FTP服务器。
的实现并不复杂。本文简单实现了文件上传和下载功能导入ftplib。
进口系统
可以获取服务器的ip地址(比如192.168.1.107)并使用sys.argv从命令行参数中获取。
iflen(系统。ARGV ) 2:
tmp=input(pleaseinputserveraddress:)
sys.argv.append(tmp)
server_address=sys.argv[1]
创建一个FTP实例并显示欢迎界面。
FTP=ftplib。FTP(服务器地址) )
打印(FTP.get welcome))
登录并输入添加到服务器的用户名和密码。
FTP.login(user , pass ).
#文件上传
电子上载(fname):
软盘=open (fname, rb )))))。
新名称=输入(输入新名称:).
#作为二进制文件上传
FTP . stor binary(stor % s)% new _ name,fd))))))))).
软盘。close())
打印(上传完成))
#文件下载
efdownload(fname):
#生成文件的存储路径。这里用的是D盘。可以自己设置。
new _ path= d :\FTP下载\\ fname
软盘FD=open(new_path, wb )。
#以二进制格式下载。请注意,第二个参数是fd.write,上传时是fd。
FTP.retrbinary(retr%s ) %fname,fd.write).
软盘。close())
下载(打印))
defmain(:)
#选择操作,上传,下载,结束
op=input(whatdoyouwant?(u/d/q)))
if op==u :
#输入文件的完整路径,根据需要使用绝对路径
fname=input (inputthefileofpath:)
是上传(fname)
elif op==d :
fname=input (inputthefilename:)
是下载(fname)
否则:
print(quitnow!)
ftp.quit().
if __name__==__main__ :
Master())
附带了几个关于ftplib库的操作。FTP。CWD(路径名)设置当前FTP操作的路径。
FTP.dir(#显示该目录下所有目录的信息
获取FTP.nlst(#目录中的文件
FTP.mkd(路径名)#创建一个新的远程目录
FTP.rmd(dirname) #删除远程目录
Ftp.pwd将返回到当前位置。
FTP.delete(文件名)#删除远程文件
将FTP.rename(旧名称,新名称)从name更改为name。
上传FTP . stor binary( stor filename . txt ,file_handel,[buff size]) #目标文件。您可以省略最后一个参数。
ftp .下载retrbinary的FTP文件( retrfilename.txt ,file_handel,[buff size])
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。