做一个好的ftp检查python程序有困难

2024-05-08 02:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

请容忍我。我开始使用python才一个星期。问题是:我想连接到FTP服务器。假设我的ftp和本地目录上的文件结构是相同的。我希望python程序执行以下操作:

1>;运行该程序时,它应上载不在服务器上但在我的 本地(只上载丢失的文件,而不是全部替换)。 比如说,我添加了一个新的目录或一个新的文件,它应该被上传到服务器上。 2>;然后检查本地和服务器上文件的修改时间,并通知哪个是最新的。在

现在,我做了两个程序:

1>;一个将所有文件从本地上载到服务器的程序。我宁愿它检查丢失的文件,然后只加载丢失的文件文件夹。不是全部替换。 2>;第二个程序将列出本地的所有文件,使用手术室步行它将上载服务器上的所有文件,而无需创建正确的目录结构。 所有这些都被复制到服务器的根目录。然后它还会检查修改的时间。在

我现在在艾姆斯试着把这两个模块合并成一个完美的模块给谁谁能真正看到这些代码,并尝试将它们与我瓦纳纳所做的结合起来,那将是完美的。很抱歉这么痛苦!!在

PS:我可能不是所有事情都这么简单!!在

代码1:

import sys

from ftplib import FTP

import os

def uploadDir(localdir,ftp):

    """

    for each directory in an entire tree

    upload simple files, recur into subdirectories

    """

    localfiles = os.listdir(localdir)

    for localname in localfiles:

        localpath = os.path.join(localdir, localname)


        print ('uploading', localpath, 'to', localname)
        if not os.path.isdir(localpath):

            os.chdir(localdir)


            ftp.storbinary('STOR '+localname, open(localname, 'rb'))



        else:

            try:

                ftp.mkd(localname)

                print ('directory created')

            except:

                print ('directory not created')

            ftp.cwd(localname)             # change remote dir

            uploadDir(localpath,ftp)                  # upload local subdir

            ftp.cwd('..')                  # change back up

            print ('directory exited')


def Connect(path):
  ftp = FTP("127.0.0.1")
  print ('Logging in.')
  ftp.login('User', 'Pass')
  uploadDir(path,ftp)


Connect("C:\\temp\\NVIDIA\\Test")

代码2:

^{pr2}$

连接(“C:\temp\NVIDIA\Test”)


Tags: 文件path代码gt程序服务器目录os