‘壹’ 用python实现FTP功能
开发环境:
1、操作系统: Windows 10 X64
2、Pycharm 2020.2.1
新建项目后,创建两个包 ftp_client与ftp_server,分别代表客户端与服务端。
该项目的完成主要借助了python提供的socketserver库来进行连接。
本项目实现了客户端对于服务端D://文件夹的增加文件,删除文件,修改文件功能。分别以put,delete,modify表示。
对于client,实现了最基础的交互功能,用户可以用如put test.txt等命令来实现功能。修改文件,用户首先输入modify z.txt 命令,z.txt是D://文件夹中已经存在的文件,再根据提示,输入想修改的内容即可修改成功。
在这一模块中,将重点介绍我在实现项目的过程中遇到的问题。
1、bytes与str的转换,传输以字节流进行,但是输出部分内容要以str形式,注意转换
2、熟悉python的语法
3、熟悉文件相关操作
4、考虑传输文件过大的情况
该问题不影响项目的正常使用,但未找到较好的解决办法
‘贰’ 如何将ftp服务器在windows系统内影射为网络驱动器
你好,打开“我的电脑”里的Windows自带的“映射为网络驱动器”是不支持FTP格式的。
你可以通过下列方式进行,但有一定区别:
1、你可以直接点右键,建立快捷方式来完成,注意格式为 ftp://用户名:密码@域名或IP:端口 (如果端口为21,可以省略)。建立后,这个成文件夹的毕岁形式存在。。可以放进网上邻居里。。
2、你可以搏数闹使用第三方软基罩件将FTP映射为本地磁盘,带 C、D、E、这种盘符的。。如:NetDrive 软件,可以直接搜索这个软件名下载。
‘叁’ 如何把FTP空间映射到电脑里面的一个盘
安装ftpnetdriver第一步:下载FTPNetDrive主程序并运行出现安装界面,我们点NEXT按钮继续。(如图9)
第二步:同意软件安装许可协议,然后系统复制必须文件到本地硬盘。(如图10)
第三步:完成全部安装工作点“完成”按钮关闭安装向导窗口。(如图11)
第四步:接下来我们会在桌面看到一个NetDrive图标,运行该图标打开NetDrive主程序,全部界面都是英文的。NetDrive虽是一款英文软件,不过使用非常简单,基本操作在主窗口中即可完成。它采用了传统的三栏式窗口布局,窗口上方是功能选项按钮,左侧为站点列表,右侧为对应站点的选项设置区。普通用户只需要按照下面的步骤操作即可。
设置ftp映射到电脑盘符
点击“New Site”按钮增加新的站点,例如:“我的FTP”。接下来在右侧选项设置区中进行参数设置。
NetDrive中的设置项目同专业FTP工具并无二致,它甚至也支持SSL加密及代理服务器功能,下面我们一一做对应说明。
Site name:站点名称。
Site IP or URL:站点IP或者网址。
Port:端口,一般保持默认值21即可。
Server Type:服务器类型,软件支持FTP和WebDav两种网络协议,一般选择FTP。
Drive:驱动器,在这里设置NetDrive虚拟的驱动器盘符,本例选择“H盘”。
Connect as anonymous:以匿名方式登录。
Account/Password:用户名/密码。
Save password:保存密码。
Automatic login when system starts:系统开机后自动登录。拨号用户不建议勾选,除非你的网络始终在线。
Automatic login when NetDrive starts:NetDrive启动后自动登录。
完成上述设置后,点击“Save”保存设置,点击“Connect”生成虚拟磁盘。
‘肆’ 怎么将FTP空间映射为我本地的硬盘啊,NetDrive和WebDrive:不支持中文文件夹或文件。能有其他的工具吗
1、打开“我的电脑”,找到Network(网络)。
‘伍’ 怎么把ftp服务器站点设置成终端电脑的本地磁盘当本地磁盘来使用请大神帮助
win7系统设置:“计算机”选择点右键,选“映射网络驱动器”,弹出对话框,选择最下面一行“连接到可用于存储文档的图片的网络”,弹出“添加网络位置向导”,下一步,下一步,到“添加网络位置向导”指定网站的位置,在框内填写你的FTP地址,下一步,取消“匿名登录”的勾,填写用户名,下一步,填写你喜欢的网络位置名称(随意写你自己喜欢的),完成,输入密码,可以选择“记住密码”,最后在“计算机”内双击打开会有“网络位置”处有你设置的磁盘图标,直接双击打开,如想在桌面放置图标,则点右键选择“发送到”选“桌面快捷方式”即可。
winXP系统:大同小异,选项的意思相同词句可能不同,只是最后生成的图标在“网上领居”里,想在桌面上放置,直接拖拽出到桌面即可。
‘陆’ 如何在Python中使用FTP
from ftplip import FTP # 首先要引入 ftplib 这个库
# 接着,这是我自定义的几个用于操作 ftp 的函数,def 后面跟的是自定义函数名,函数体内FTP 相关的语句和函数来自上面 import 那个包,你自己体会吧:
# 初始化 FTP 连接
def ftp_open(HOST,PORT,USERNAME,PASSWORD):
ftp=FTP()
ftp.set_debuglevel(2)
ftp.connect(host=HOST,port=PORT)
ftp.login(USERNAME,PASSWORD)
return ftp
# 关闭 FTP 连接
def ftp_close(ftp):
ftp.set_debuglevel(0)
ftp.quit()
# 文件上传函数,filename 可以是windows 格式包含全路径的文件
def ftp_up(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'rb')
ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP up OK.')
# 文件下载函数,filename 可以是windows 格式包含全路径的文件
def ftp_down(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'wb')
ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP down OK.')
‘柒’ 怎么把远程FTP映射为本地磁盘
要用WebDrive这类软件才行
‘捌’ 网络硬盘怎么映射到本地硬盘
右键“我的电脑”—>映射网络驱动器,如果是局域网上的文件夹,只要你能在网上邻居中看的见的文件夹都能映射,在“浏览”中找就好了。
如果是网络上的FTP文件夹,只要登陆一次,就自动会有一个FTP文件添加到网上邻居中,下次登陆只需打开网上邻居双击FTP帐号名的文件夹,然后输入密码就可,如果也想加到“我的电脑”里,也是右键“我的电脑”—>映射网络驱动器,占击下面的“注册联机存储或连接到网络服务器”,然后下一步,跟据提示一步步完成就好了。
注:以上是针对windows XP系统,对于windows7,自带就有网络映射,点几下鼠标就好了。
‘玖’ 如何将ftp服务器映射为本机磁盘
1、安装
apt-get install curlftpfs
2、简单使用方法
username: FTP用户名
password: FTP密码
192.168.1.111: FTP地址
/mnt/ftp: 准备挂载到的路径
curlftpfs ftp://username:[email protected] /mnt/ftp
卸载ftp: fusermount -u /mnt/ftp
3、开放权限,这样其它用户也能读写了,uid和gid改成你自己的id
sudo curlftpfs -o rw,allow_other,uid=1000,gid=1000 ftp://dewdew:[email protected] /mnt/ftp
4、开机自动挂载
sudo echo "curlftpfs#username:[email protected] /mnt/ftp fuse allow_other,uid=userid,gid=groupid 0 0" >> /etc/fstab
Mount FTP file system on CentOS
有SFTP后,FTP 几乎没有用武之地了,研究 FTP 大多是因为某些软件或服务器只支持 FTP。
1&1 独立主机附赠一个跟硬盘容量相等的 FTP 备份空间,此 FTP 只能由 root server 访问,但 1&1 并没有提供现成的备份软件(1&1 营销上的失误)。FTP 备份空间对我来说用处不大,但 250 G 的空间空着也是浪费,于是我自创了我的备份方案,此中关键点是如何在 CentOS 上加载 FTP 文件系统。
经一番搜索,找到 curlftpfs,用它可以加载 FTP 文件系统,但 Fedora 可以直接 yum install curlftpfs,CentOS 里没有,得用 DAG repository,所以第一步:安装 DAG repository。
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
第二步:安装 curlftpfs
yum install curlftpfs
第三步:没有第三步,已经可以使用 curlftps 了。如果要加载 FTP 文件系统
curlftpfs ftp://ftp_host/sub_dir mount_point -o user="ftp_username:ftp_password", uid=user_id, gid=group_id, allow_other
如果在启动时自动加载 FTP 文件系统,在 /etc/fstab 中添加一行
curlftpfs#ftp_uername:ftp_password@ftp_host/sub_dir mount_point fuse rw,uid=user_id, gid=group_id,user,allow_other 0 0
(很多关于 curlftpfs in fstab 的介绍使用了 noauto,这样的话,还需执行 mount mount_point 才能真正加载)
卸载 FTP 文件系统
fusermount -u mount_point
‘拾’ FTP服务器如何变成硬盘在我的电脑里
只有FTP服务才能管理共享权限,你也可以下载一个FTP软件,来管理ftp服务的权限,网络映射的你呢个管理共享的文件夹或者是磁盘,不过你也可以试试!!!