国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 使用Python編寫提取日志中的中文的腳本的方法

使用Python編寫提取日志中的中文的腳本的方法

2020-06-19 10:09JohnnyHu90 Python

這篇文章主要介紹了使用Python編寫提取日志中的中文的腳本的方法,該腳本包括過濾重復(fù)的字符行等功能,需要的朋友可以參考下

由于工作需要在一大堆日志里面提取相應(yīng)的一些固定字符,如果單純靠手工取提取,數(shù)據(jù)量大,勞心勞力,于是自然而然想到了用Python做一個對應(yīng)的提取工具,代替手工提取的繁雜,涉及中文字符,正則表達式不好匹配,但不是不可以實現(xiàn),這個以后優(yōu)化時再說。

需求描述:

一個父目錄中存在多個子文件夾,子文件夾下有多個txt形式化的Log日志,要求從所有地方Log日志中找出CardType=9, CardNo=0時的CardID的值,并將其統(tǒng)計存儲到一個文本文件中,要求CardID不能夠重復(fù)。

需求解析:

首先獲取所有的Log日志的全路徑,根據(jù)路徑分別加載到將各個Log日志加載到內(nèi)存中進行提取分析,并將結(jié)果存儲到給定的文本文件中。

解決方案:

為了盡可能的簡潔通用,這里使用配置文件作為輸入變量的依據(jù)。不多說,上代碼:

配置文件如下:

使用Python編寫提取日志中的中文的腳本的方法

103文件夾下有兩個文件:log1.txt和log2.txt, 內(nèi)容類似如下:

使用Python編寫提取日志中的中文的腳本的方法使用Python編寫提取日志中的中文的腳本的方法

Python代碼實現(xiàn)如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*- coding: utf-8 -*-
#!/usr/bin/python
# filename: picktools.py
# codedtime:2015-3-25
 
import os
import configparser
 
# 遍歷一個目錄,輸出所有文件名
def itemsbrowse(path):
  for home, dirs, files in os.walk(path):
    for filename in files:
      yield os.path.join(home, filename)
 
# 給的文件中查找對應(yīng)的字符串所在行     
def findchars(filename, chars):
  file = open(filename, 'r')
  for eachline in file:
    if eachline.find(chars) >= 0:
      yield eachline
  file.close()
 
# 添加到指定的文件
def addtofile(filename, mygenerator):
  file = open(filename, 'a')   # 追加方式打開
  for line in mygenerator:
    file.write(line)
  file.close()
 
# 過濾重復(fù)的字符行
def filter(filename):
  mylist = []
  file = open(filename, 'r')
  for eachline in file:
    mylist.append(eachline.strip())
  file.close()
  
  file2 = open(os.path.splitext(filename)[0] + '_filter.txt', 'w')
  for line in list(set(mylist)):
    print(line, file = file2)
    #file2.write(line)
  file2.close()
  
 
def excute():
  iniconf = configparser.ConfigParser()
  iniconf.read('config.ini')
  ifile = iniconf.get('setting', 'ifilepath')
  ofile = iniconf.get('setting', 'ofilepath')
  chars = iniconf.get('setting', 'searchstr')
  
  for fullname in itemsbrowse(ifile):
    mygenerator = findchars(fullname, chars)
    addtofile(ofile, mygenerator)
    
  filter(ofile)
      
      
if __name__ == '__main__':
  excute()


輸出結(jié)果:輸出兩個文件result.txt 和result_filter.txt

使用Python編寫提取日志中的中文的腳本的方法使用Python編寫提取日志中的中文的腳本的方法

心得體會:

1、利用Python去處理一些日常的小任務(wù),可以很方便的完成,相比較C/C++來說,這方面生產(chǎn)力高了不少。

2、本文設(shè)計對中文字符的處理,所以使用正則表達式不太怎么方便,但不少不可以,后續(xù)版本中會添加對正則的支持!

3、由于初學(xué)中,所以代碼寫的不夠精煉簡潔,后續(xù)進行再優(yōu)化!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: av在线播放不卡 | 国产精品久久久久久久久 | 久久久久久久av | 精品一区二区三区视频 | 国产亚洲片 | 免费观看电视在线高清视频 | 人人射| 麻豆一区二区三区 | 精品国产乱码久久久久久久软件 | 亚洲免费看片 | 欧美激情视频一区二区三区在线播放 | 久久精品亚洲精品 | 久久精品中文字幕大胸 | 久久精品小视频 | www.久久精品 | 国产精品久久久久久久久久久久冷 | 香蕉久久久久久 | 毛片在线观看网站 | 国产羞羞视频免费在线观看 | 亚洲va欧美va人人爽成人影院 | 欧美二区三区 | 91在线免费视频 | 中文字幕在线精品 | 精品国产一区二区 | 国产日韩高清在线 | 成人在线观看网站 | 人人人射| 一级黄片毛片免费看 | 精品久久一区二区三区 | 青青操av| 国产精品久久久久久久久久久久冷 | 天堂中文 | 久久精品2019中文字幕 | 国产中文字幕在线免费观看 | 国产视频色 | 欧美成人精品一区二区三区 | 久久精品日产第一区二区三区 | 国产一级免费 | 日本久久久久久久久久久久 | 久久精品亚洲 | 欧美一区二区三区 |