Python ftplib只上传一些文件,但不是全部

时间:2015-09-19 13:26:45

标签: python ftp ftplib

我尝试将一些文件上传到同一网络中的ftp服务器。该脚本每小时启动一次,但有些文件只保留在文件夹中,即使我手动启动脚本也不会上传。

文件格式如下:

20150918-232105-479.jpg

和一个相应的png文件,只有jpg-filename的最后一部分:

479.png

问题出现在for循环中。它只是进入for-loop一次,即使我在目录和filelist

中有更多文件
import ftplib
import os
import sys
import time
import glob
from datetime import datetime

ftp = ftplib.FTP()
ftp.connect("192.168.0.9", 21)
print(ftp.getwelcome())
try:
    print "Logging in..."
    ftp.login("someuser", "somepassword")
    filelist = []
    for file in os.listdir("/home/kamera"):
            if file.endswith('.jpg'):
                filelist.append(file)
                print(file)

    for item in filelist:
        f = open(item, 'rb')

        temp = item.split('-')[0]
        endung = (item.split('-')[2])

        png = endung[:-3] + 'png'
        pngf = open(png, 'rb')

        if(temp in ftp.nlst()):
            ftp.cwd(temp)
        else:
            print(temp)
            ftp.mkd(temp)
            ftp.cwd(temp)

        ftp.storbinary('STOR ' + endung, f)
        ftp.storbinary('STOR ' + png, pngf)     

        print(str(item) + " stored")
        ftp.cwd('/')
        f.close()
        pngf.close()
        pfad = os.getcwd() + '/' + str(item)
        pfadpng = os.getcwd() + '/' + str(png)

        os.remove(pfad)
        os.remove(pfadpng)

    ftp.quit()

except:
    "failed to login"

0 个答案:

没有答案