python ftplib监控文件修改时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python ftplib监控文件修改时间相关的知识,希望对你有一定的参考价值。

怎样使用ftplib访问指定文件夹下的某个文件,之后获取到该文件的修改时间的时间戳呢?
该文件位置是ftp://192.168.0.25/abc/0001.xml
服务器是linux系统
我能取到文件的信息如下:
-rw-rw-r-- 1 99 99 163093 Sep 19 15:59 0001.xml
但是我想监控这个文件的修改时间,最简便的方法是跟当前时间的时间戳做对比,
我不想要Sep 19 15:59这种时间格式,只想要time.time()返回的1411120329.247这种格式~
这样就可以相减得到这个文件上一次修改是多久之前啦,

或者有更简便的方法也请指点我!多谢!!

求高手解答~!

用python的ftplib,示例代码如下,返回目录内容的详细信息,自己做下相应的处理就可以了

from ftplib import FTP
 
ftp = FTP()
timeout = 30
port = 21
ftp.connect('192.168.85.1',port,timeout) # 连接FTP服务器
ftp.login('test','test') # 登录
print ftp.getwelcome()  # 获得欢迎信息 
ftp.cwd('test')    # 设置FTP路径
print ftp.retrlines('LIST') #列出目录内容

参考技术A 显示的是修改时间还是创建时间?重新创建一个文件,然后稍停一下修改之,看显示的是哪个。

使用python ftplib包递归下载文件夹及文件

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-06-11 09:35:49
# @Author  : Yaheng Wang ([email protected])
# @Link    : http://www.wy2160640.github.io
# @Version : $Id$

import os
import sys
from ftplib import FTP

class FTPSync(object):
    def __init__(self):
        self.conn = FTP(ftp.hapmap.org)
        self.conn.login()
        self.conn.cwd(hapmap/frequencies/)
        os.chdir(/home/ftp.hapmap.org/hapmap/frequencies/)

    def get_dirs_files(self):
        dir_res = []
        self.conn.dir(., dir_res.append)
        files = [f.split(None, 8)[-1] for f in dir_res if f.startswith(-)]
        dirs = [f.split(None, 8)[-1] for f in dir_res if f.startswith(d)]
        return files, dirs

    def walk(self, next_dir):
        sys.stderr.write(Walking to %s
%next_dir)
        self.conn.cwd(next_dir)
        try:
            os.mkdir(next_dir)
        except OSError:
            pass
        os.chdir(next_dir)
        ftp_curr_dir = self.conn.pwd()
        local_curr_dir = os.getcwd()
        files, dirs = self.get_dirs_files()
        sys.stdout.write("FILES: %s"%files)
        sys.stdout.write("DIRS: %s"%dirs)
        for f in files:
            sys.stdout.write("%s : %s"%(next_dir, f))
            sys.stdout.write("download : %s"%os.path.abspath(f))
            outf = open(f, "wb")
            try:
                self.conn.retrbinary("RETR %s"%f, outf.write)
            finally:
                outf.close()
        for d in dirs:
            os.chdir(local_curr_dir)
            self.conn.cwd(ftp_curr_dir)
            self.walk(d)

    def run(self):
        self.walk(.)

def main():
    f = FTPSync()
    f.run()


if __name__ == __main__:
    main()

 

以上是关于python ftplib监控文件修改时间的主要内容,如果未能解决你的问题,请参考以下文章

windows下,python文件监控,python监听文件修改,php文件监控,php监听文件修改

python 监控一个文件夹?

如何防止在 Python 中使用 FTPLIB 覆盖现有文件?

利用python监控文件被修改

使用 python ftplib 下载二进制格式的 zip 文件

FTP 上传文件手动工作,但使用 Python ftplib 失败