生成pcf文件
import os
import datetime
import hashlib def checksum(filename):
with open(filename, mode='rb') as f:
d = hashlib.md5()
while True:
buf = f.read(128)
if not buf:
break
d.update(buf)
return d.hexdigest() if __name__ == "__main__": week = int(datetime.date.today().strftime("%w")) if week in {6, 0}:
print(week) nextdate = datetime.date.today() + datetime.timedelta(days=1)
if week == 5:
nextdate = datetime.date.today() + datetime.timedelta(days=3) PreTradingDay = datetime.date.today().strftime('%Y%m%d')
TradingDay = nextdate.strftime('%Y%m%d') #PreTradingDay = '20191030'
#TradingDay = '20191031' print(PreTradingDay)
print(TradingDay) path = 'D:/data/pcf'
template = 'fm006etfd20191104001.txt'
pcftemp = os.path.join(path, template) template = 'fm006etfd20191104001.flg'
flagtemp = os.path.join(path, template) pcfname = 'fm006etfd' + TradingDay +'001.txt'
flagname = 'fm006etfd' + TradingDay + '001.flg' pcffile = os.path.join(path, pcfname)
flagfile = os.path.join(path, flagname) print(pcffile)
print(flagfile) f = open(pcftemp, mode='r', encoding='GBK',newline='\n')
f_new = open(pcffile, mode="w+", encoding='GBK',newline='\n') for line in f:
if '20191104' in line:
line = line.replace('20191104', TradingDay)
line = line.replace('20191101', PreTradingDay)
f_new.write(line)
f_new.flush()
f.close()
f_new.close() stat = os.stat(pcffile)
FileName = pcfname
FileDate = str(TradingDay)
FileTime = str(datetime.datetime.fromtimestamp(stat.st_mtime).strftime("%H%M%S"))
FileBytes = str(stat.st_size)
CheckSum = checksum(pcffile) f = open(flagtemp, mode='r', encoding='GBK',newline='\n')
f_new = open(flagfile, mode="w+", encoding='GBK',newline='\n') for line in f:
if 'fm006etfd20191104001' in line:
line = line.replace('fm006etfd20191104001.txt', FileName)
line = line.replace('2945', FileBytes)
line = line.replace('20191104', FileDate)
line = line.replace('210000', FileTime)
line = line.replace('5362833CC3437FEC33E69D0FD0287176', CheckSum)
print(line) f_new.write(line)
f_new.flush()
f.close()
f_new.close()
生成pcf文件的更多相关文章
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- SQL*Plus生成html文件
最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急.好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件? ...
- vim保存文件时,生成.un~文件
在用vim保存文件时,文件夹下生成.un~文件 怎么删除这些文件呢 在网上搜索的答案: http://stackoverflow.com/questions/15660669/what-is-a-un ...
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 简单生成svg文件
this.fileSaveSync = function (file, data) { var fs = require('fs-extra'); fs.writeFileSync(file, dat ...
- 使用Free Spire.Presentation生成PowerPoint文件
使用Free Spire.Presentation生成PowerPoint文件 前言 之前有写过一篇使用Free Spire.XLS生成图表的文章,朋友圈内反应还不错,都希望我能继续写下去,把类似 ...
- caffe的python接口学习(5):生成deploy文件
如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也.deploy文件没有第一层数据输入层, ...
- 利用 autoconf 和 automake 生成 Makefile 文件
一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.M ...
- linux下使用automake工具自动生成makefile文件
linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Au ...
随机推荐
- ‘cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文
在 Win7下的命令行模式下,输入cmake相关命令,出现如下错误: ’cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文件 解决方法: 在环境变量中添加cmake的文件路径. 计算机( ...
- 基线baseline
vertical:元素的垂直对齐方式:默认 vertical:baseline ,一行内对其基线,如下图就是以父元素基线对齐,上图vertical:top 垂直对齐方式,行内元素头部对齐.
- 浅析前端BFC布局
一.常见定位方案 二.BFC 概念 BFC 即 Block Formatting Contexts (块级格式化上下文),它属于上述定位方案的普通流. 它是一个独立的渲染区域,只有Block-leve ...
- Fiddler实现篡改接口请求和返回数据
步骤如下: 点击rules->Automatic Breakpoints,在这个选项下,我们可以看到三个可选项: Before Requests:在请求发出前拦截请求: After Reques ...
- 滚动加载|页面滑到底部加载数据|jquery.endless-scroll插件|使用demo
<html> <head> <link rel="dns-prefetch" href="http://i.tq121.com.cn&quo ...
- 函数中,对形参做不加var的全局溢出赋值,可改变形参所指向的实参的本身值
var formateNumArr = function(arr,defaultVal){ var a = []; $.each(arr,function(i,v){ ...
- 获取浏览器名称与版本checkbrowse()
function checkbrowse() { var ua = navigator.userAgent.toLowerCase(); var is = (ua.match(/\b(chrome|o ...
- VS 2015秘钥
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
- Response Assertion(响应断言)
Response Assertion(响应断言) 响应断言是对服务器的响应数据进行规则匹配. Name(名称):可以随意设置,最好有业务意义. Comments(注释):可以随意设置,可以为空. Ap ...
- WinDbg常用命令系列---sx, sxd, sxe, sxi, sxn, sxr, sx- (设置异常)
简介 sx*命令控制调试器在正在调试的应用程序中发生异常或发生某些事件时采取的操作. 使用形式 sx sx{e|d|i|n} [-c "Cmd1"] [-c2 "Cmd2 ...