当前位置:首页 » 文件传输 » python解析ftp文件列表
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

python解析ftp文件列表

发布时间: 2023-08-04 02:41:59

Ⅰ python,如何下载FTP上的文件

importftplib,socket
defconnect():
CONST_HOST="xxxx.xxxx.xxx"
CONST_USERNAME="xxxxx"
CONST_PWD="xxxxxxx"
try:
ftp=ftplib.FTP(CONST_HOST)
ftp.login(CONST_USERNAME,CONST_PWD)
returnftp
exceptsocket.error,socket.gaierror:
print("FTPisunavailable,pleasecheckthehost,usernameandpassword!")
sys.exit(0)

defdisconnect(ftp):
ftp.quit()

defdownload(ftp,filename):
#预定义每次写文件的buffer
CONST_BUFFER_SIZE=8192
f=open(filename,"wb").write
try:
ftp.retrbinary("RETR%s"%filename,f,CONST_BUFFER_SIZE)
exceptftplib.error_perm:
returnFalse
returnTrue

deffind(ftp,filename):
ftp_f_list=ftp.nlst()
iffilenameinftp_f_list:
returnTrue
else:
returnFalse
ftp=connect()
#yourfile为你想要下载的文件
iffind(ftp,'yourfile'):
download(ftp,'yourfile')
disconnect(ftp)

Ⅱ 在FTP命令当中查看本地文件列表命令是

查看本地文件列表命令是:ls

其它常用的FTP命令及含义:

1、dir:显示服务器目录和文件列表

2、cd:进入服务器指定的目录(dir命令可以使用通配符“”和“?”,比如,显示当前目录中所有扩展名为jpg的文件,可使用命令 dir .jpg。)

3、put:上传指定文件put filename [newname]

4、、send:上传指定文件send filename [newname]

(filename为上传的本地文件名,newname为上传至FTP服务器上时使用的名字,如果不指定newname,文件将以原名上传。)

(2)python解析ftp文件列表扩展阅读

ftp命令行格式及开关含义:

ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [computer]

-v - 禁止显示远程服务器相应信息

-n - 禁止自动登录

-i - 多文件传输过程中关闭交互提示

-d - 启用调试,显示所有客户端与服务器端传递的命令

-g - 禁用文件名通配符,允许在本地文件和路径名中使用

-s:filename - 指定包含 FTP 命令的文本文件;命令在FTP启动后自动运行。此参数中没有空格。可替代重定向符(>)使用。

-a - 在绑字数据连接时使用所有本地接口

-w:windowsize - 覆盖默认的传输缓冲区大小 65535。

computer - 指定远程电脑计算机名或IP地址。此参数必须放到最后。

Ⅲ 如何在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.')

Ⅳ Python,第一次运行从FTP下载目录下所有文件,之后运行先检测FTP上文件是否更新,有,则只下载更新的文件

直接使用ftplib就可以实现,其中有一个nlst功能用于查询目录,cwd用于改变目录,还有一个size功能。你这边只需要保留一个目录的镜像。如果发现有目录差异,或者是文件大小发生变更,就用retrbinary进行文件同步就可以。

另外这样的ftp自动同步软件很多年前就有,现在很成熟。不用重新开发。

Ⅳ python,如何下载FTP上指定时间段内的文件

importftplib
path='c:/user/pcwuyu/desktop/1c0/'
l=[]
defls_filter(line):
ll=line.split()
ifll[5]=='Jan'andll[6]=='9'andll[7]>'14:30'andll[7]<'15:30':
ifll[8]!='.'andll[8]!='..':
l.append(ll[8])
returnll[8]
ftp=ftplib.FTP('127.0.0.1')
ftp.login('root','password')
ftp.cwd('/mnt/1c0')
ftp.set_pasv(False)
fs=ftp.retrlines('LIST',ls_filter)
foriinl:
ftp.retrbinary('RETR'+i,open(path+i,'wb').write)
ftp.quit()

一个简单的例子,下载1月9日14:30~15:30的文件

Ⅵ python 检测FTP目录是否为空

ftp相关命令操作
ftp.cwd(pathname) #设置FTP当前操作的路径
ftp.dir() #显示目录下文件信息
ftp.nlst() #获取目录下的文件
ftp.mkd(pathname) #新建远程目录
ftp.pwd() #返回当前所在位置
ftp.rmd(dirname) #删除远程目录
ftp.delete(filename) #删除远程文件
ftp.rename(fromname, toname)#将fromname修改名称为toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上传目标文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下载FTP文件