我每周使用以下功能上传文件和结构
我在这里要调整的是将目录结构改为每年/每月/每天
示例/Incoming/2016/02/08/filename
如果目录或子目录不存在,它将创建它然后上传
应使用哪种方法从“周日”切换到“年/月/日”的“深目录”结构
def dir_today ():
""" Function to determine directory today """
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
day = week[datetime.today().weekday()]
return day
def ftp_upload (ifn):
"""" FTP upload Function. Destination file will be appended with date and timecode received from meta data"""
src = "%s/%s" % (src_loc,ifn)
try:
create_time = get_meta(ifn)
except:
create_time = datetime.now().strftime("VID_%Y-%m-%d_T_%H-%M-%S")
dst_file = os.path.splitext(ifn)[0] + os.path.splitext(ifn)[1]
upload_directory = ftp_base_directory + '/' + dir_today() + '/'
try:
ftp_connect = ftplib.FTP(ftp_server, ftp_login, ftp_password)
try:
ftp_connect.cwd(upload_directory)
except ftplib.all_errors:
ftp_connect.mkd(upload_directory)
ftp_connect.cwd(upload_directory)
file = open(src, "rb")
send = ftp_connect.storbinary("STOR "+ dst_file, file)
ftp_connect.close
file.close()
os.remove(src)
logger.info("Moved file %s" %(src))
oflist.remove(ifn)
hsize.pop(ifn)
uploaded.insert(0,ifn)
try:
uploaded.pop(9)
except:
pass
except Exception as e:
logger.info("Error: %s" %(repr(e)))
return
您可以修改
dir_today()
以返回子路径:或者:
相关问题 更多 >
编程相关推荐