#!/usr/bin/env python
# coding: utf-8
# ## 1.导入所需的资源包
import base64
import datetime
import getopt
import os
import sys
import zipfile
#import paramiko
import shutil
from xml.dom.minidom import Document
# ## 2.准备工作,辅助函数
# ### 2.1 设置一些全局配置参数
REMOTE = True
# 设置编码格式
ENCODING = "utf-8"
# 操作日期目录,默认为 T-1 日
default_date = (datetime.datetime.now() + datetime.timedelta(days=-1)).strftime("%Y%m%d")
DATE_DIR = "./%s/" % default_date
BASE_PATH = "/app/interrate_report/data/" + DATE_DIR
REPORT_FLAG = "FTRT"
# 报送标识,默认为 FTRT,首次报送;
# 参数:ALRT 为重新报送所有分片;
# 参数:CTRT 为重新报送指定分片,无此类报送需求;
BANKCODE = "D7001661000018" # 机构代码
REPORT_MODE = "FTRT"
SEPARATE_SIZE = 1000 # 初始约定1000条以内为一个数据包,运算过程中动态调整
# 根据调用脚本的命令行参数调整配置
opts, args = getopt.getopt(sys.argv[1:], 'hm:d:', ['help', 'mode=', 'bizdate='])
for opt_name, opt_value in opts:
if opt_name in ('-h', '--help'):
print("请关注以下信息:")
print("\t-h, --help \t\t 展示帮助信息")
print("\t-m, --mode \t 指定报送模式 (FTRT:首次报送 ALRT;重新报送所有数据, 默认为 FTRT)")
print("\t-d, --bizdate \t 指定待报送数据的日期 (默认为 T-1)")
print("\n使用范例:")
print("使用默认配置执行>>> python interrate_report.py")
print("指定报送模式执行>>> python interrate_report.py --mode=FTRT")
print("指定报送日期执行>>> python interrate_report.py --bizdate=%s" % default_date)
print("指定报送模式和日期执行>>> python interrate_report.py --mode=ALRT --bizdate=%s" % default_date)
exit()
if opt_name in ('-m', '--mode'):
flag = opt_value.upper()
if flag in ('FTRT', 'ALRT'):
REPORT_MODE = flag
else:
print("请指定正确的报送模式 (FTRT:首次报送|ALRT:重新报送): " + flag)
exit()
if opt_name in ('-d', '--bizdate'):
rdate = opt_value
if len(rdate) == 8 and 0 < int(rdate) < 20991231:
BASE_PATH = "/app/interrate_report/data/%s/" % rdate
else:
print("请指定正确的报送日期: " + rdate)
exit()
if REPORT_MODE == "FTRT":
# 原始文件目录
SOURCE_DIR = BASE_PATH + "ADATA/"
# 拆分文件目录
SEPARATE_DIR = BASE_PATH + "ftrt_sharding/"
# 统计文件目录
STATISTIC_DIR = BASE_PATH + "ftrt_statistiIc/"
# 待转码的压缩文件目录
ZIP_FOR_BASE64_DIR = BASE_PATH + "ftrt_zip_origin/"
# xml文件目录
XML_DIR = BASE_PATH + "ftrt_xml/"
# zip文件目录
ZIP_DIR = BASE_PATH + "ftrt_report/"
人行利率报备项目之文件处理逻辑(4-3)
最新推荐文章于 2024-03-14 18:01:58 发布
本文详细介绍了人行利率报备项目中涉及的文件处理逻辑,包括文件的读取、解析、验证及存储等关键步骤,旨在帮助读者理解该项目中的核心操作流程。
摘要由CSDN通过智能技术生成