我尝试将一些文件上传到同一网络中的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"