当前位置: 首页 > news >正文

如何在多文本中提取指定数据,并按时间命名文件名

#

”’(三个单引号)
本试验项目的目的为在e:\demo\res目录下进行对数据的额遍历搜索与X中的相同的关键内容,
并且通过提取的关键内容存储在e:\demo\res,并根据‘实时日期.txt’的格式进行文件命名,本次试验的文件为在res文件夹中的文件

被搜寻文本txt为自己预先在e:\demo\res中先设置好,txt文本名字不限
例如以下范文1:

1
2
3
4
5
6
7
gpgpu_n_mem_read_global
8
9
000
gpgpu_n_mem_write_global
11
gpgpu_n_mem_texture
12233
gpgpu_n_mem_const
1232223
12312
3123123

123123
gpgpu_n_param_mem_insn

范文2:

hellow Ayu, I miss you.
gpu_sim_insn
gpu_ipc
L1I_total_cache_accesses
L1D_total_cache_accesses
gpgpu_n_tot_thrd_icount
gpgpu_n_tot_w_icount
gpgpu_n_mem_read_local
f
33
4
5
6
2345
34
345
6
345
gpgpu_n_param_mem_insn

”’(三个单引号)

import datetime
import re
import sys
import os,glob

获得当前时间

now = datetime.datetime.now() # ->这是时间数组格式

转换为指定的格式:

otherStyleTime = now.strftime(“%Y_%m_%d %H_%M_%S”)

定义目录:目录下有多个文件需要处理

path = ‘e:\demo\res’

定义输出文件

fout = open(“e:\demo\res\%s.txt”%otherStyleTime, ‘w’)

x = [
‘gpu_sim_insn’,
‘gpu_ipc’,
‘L1I_total_cache_accesses’,
‘L1D_total_cache_accesses’,
‘gpgpu_n_tot_thrd_icount’,
‘gpgpu_n_tot_w_icount’,
‘gpgpu_n_mem_read_local’,
‘gpgpu_n_mem_write_local’,
‘gpgpu_n_mem_read_global’,
‘gpgpu_n_mem_write_global’,
‘gpgpu_n_mem_texture’,
‘gpgpu_n_mem_const’,
‘gpgpu_n_load_insn’,
‘gpgpu_n_store_insn’,
‘gpgpu_n_shmem_insn’,
‘gpgpu_n_tex_insn’,
‘gpgpu_n_const_mem_insn’,
‘gpgpu_n_param_mem_insn’
]

改变路径

os.chdir(path)

遍历目录下的所有文件

for filename in os.listdir():
fs = open(filename,’r’,encoding= ‘ANSI’) #py3必须指定编码格式 现目前能使用ANSI(默认用的标准格式),Unicode,Unicode big endian,utf-8编码
#处理文件中的每一行数据
for line in fs.readlines():
a = line.split()
if a != [] and a[0] in x:
fout.write(a[0]+’\n’) #原来的指令为fout.write(a[-1]+’\n’),为测试与a[0]的不同所以在以下部分做出改变
if a[0]==a[-1]: #对a[0]&a[-1]进行比较,若两者相同打印 print(‘a[0]==a[-1]’);两者个不同则打印出print(‘a[0]!=a[-1]’)
print(‘a[0]==a[-1]’)
else:
print(‘a[0]!=a[-1]’)
if a[0] == ‘gpgpu_n_param_mem_insn’: #感觉对于此处略微欠缺实际考虑,仅能用于根据’gpgpu_n_param_mem_insn’结尾的文段,仍需要考虑改进
fout.write(‘\n’)
break

fout.write(‘\n’)
fout.close()

#

相关文章:

  • 数理统计(一)-期望和方差
  • 数理统计(二)-数据的类型和基本概念
  • 通过matlab实现正交表
  • 基于TP-LINK(AC1200)主路由器+FAST(FWR303)副路由器的桥接(中继)信号放大
  • matlab怎么找出一串数中的连续的数字
  • C#+VTK+VS2010环境配置---方法1
  • C#+VTK+VS2010环境配置--方法2
  • Qt Creator下载和安装(详细教程)
  • java绘制图片验证码两种方式实现,点击【图片】刷新和点击【看不清换一张】刷新
  • java 验证码实现
  • Servlet中doGet和doPost方法有何区别?
  • form表单
  • 关于struts2中ActionContext的实现原理
  • Struts2 form表单的action和onsubmit事件说明
  • Struts2(二)---将页面表单中的数据提交给Action
  • JS 中的深拷贝与浅拷贝
  • 【刷算法】求1+2+3+...+n
  • CentOS 7 防火墙操作
  • iOS编译提示和导航提示
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript函数式编程(一)
  • spring security oauth2 password授权模式
  • Vue 重置组件到初始状态
  • vue总结
  • 每天一个设计模式之命令模式
  • 面试遇到的一些题
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 漂亮刷新控件-iOS
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 一起参Ember.js讨论、问答社区。
  • Python 之网络式编程
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #ubuntu# #git# repository git config --global --add safe.directory
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (145)光线追踪距离场柔和阴影
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C语言)共用体union的用法举例
  • (Python) SOAP Web Service (HTTP POST)
  • (rabbitmq的高级特性)消息可靠性
  • (三)elasticsearch 源码之启动流程分析
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • ./configure、make、make install 命令
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Framework杂记
  • .NET 分布式技术比较
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .Net程序帮助文档制作
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET项目中存在多个web.config文件时的加载顺序
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [Bugku]密码???[writeup]