正则解析
This commit is contained in:
parent
ab0a0372b4
commit
f3454e2d8d
@ -94,6 +94,7 @@ def chkData(data):
|
|||||||
work_list = i['work_list']
|
work_list = i['work_list']
|
||||||
if work_list:
|
if work_list:
|
||||||
work_list = [json.loads(i) for i in work_list]
|
work_list = [json.loads(i) for i in work_list]
|
||||||
|
if isinstance(work_list[0], str):
|
||||||
work_list = [eval(i) for i in work_list]
|
work_list = [eval(i) for i in work_list]
|
||||||
else:
|
else:
|
||||||
work_list = []
|
work_list = []
|
||||||
@ -102,6 +103,7 @@ def chkData(data):
|
|||||||
project_undergo = i['project_undergo']
|
project_undergo = i['project_undergo']
|
||||||
if project_undergo:
|
if project_undergo:
|
||||||
project_undergo = [json.loads(i) for i in project_undergo]
|
project_undergo = [json.loads(i) for i in project_undergo]
|
||||||
|
if isinstance(project_undergo[0], str):
|
||||||
project_undergo = [eval(i) for i in project_undergo]
|
project_undergo = [eval(i) for i in project_undergo]
|
||||||
else:
|
else:
|
||||||
project_undergo = []
|
project_undergo = []
|
||||||
@ -110,6 +112,7 @@ def chkData(data):
|
|||||||
language = i['language']
|
language = i['language']
|
||||||
if language:
|
if language:
|
||||||
language = [json.loads(i) for i in language]
|
language = [json.loads(i) for i in language]
|
||||||
|
if isinstance(language[0], str):
|
||||||
language = [eval(i) for i in language]
|
language = [eval(i) for i in language]
|
||||||
else:
|
else:
|
||||||
language = []
|
language = []
|
||||||
@ -118,6 +121,7 @@ def chkData(data):
|
|||||||
remembrance = i['remembrance']
|
remembrance = i['remembrance']
|
||||||
if remembrance:
|
if remembrance:
|
||||||
remembrance = [json.loads(i) for i in remembrance]
|
remembrance = [json.loads(i) for i in remembrance]
|
||||||
|
if isinstance(remembrance[0], str):
|
||||||
remembrance = [eval(i) for i in remembrance]
|
remembrance = [eval(i) for i in remembrance]
|
||||||
else:
|
else:
|
||||||
remembrance = []
|
remembrance = []
|
||||||
@ -778,12 +782,12 @@ async def find_criterion(
|
|||||||
data['work_exp'] = '5年以上'
|
data['work_exp'] = '5年以上'
|
||||||
if data.get('work_list', []):
|
if data.get('work_list', []):
|
||||||
work_list = [json.loads(i) for i in data['work_list']]
|
work_list = [json.loads(i) for i in data['work_list']]
|
||||||
if isinstance(work_list[0],str):
|
if isinstance(work_list[0], str):
|
||||||
work_list = [eval(i) for i in work_list]
|
work_list = [eval(i) for i in work_list]
|
||||||
data['work_list'] = work_list
|
data['work_list'] = work_list
|
||||||
if data.get('project_undergo', []):
|
if data.get('project_undergo', []):
|
||||||
project_undergo = [json.loads(i) for i in data['project_undergo']]
|
project_undergo = [json.loads(i) for i in data['project_undergo']]
|
||||||
if isinstance(project_undergo[0],str):
|
if isinstance(project_undergo[0], str):
|
||||||
project_undergo = [eval(i) for i in project_undergo]
|
project_undergo = [eval(i) for i in project_undergo]
|
||||||
data['project_undergo'] = project_undergo
|
data['project_undergo'] = project_undergo
|
||||||
if data.get('remembrance', []):
|
if data.get('remembrance', []):
|
||||||
@ -791,12 +795,15 @@ async def find_criterion(
|
|||||||
if isinstance(remembrance[0], str):
|
if isinstance(remembrance[0], str):
|
||||||
remembrance = [eval(i) for i in remembrance]
|
remembrance = [eval(i) for i in remembrance]
|
||||||
data['remembrance'] = remembrance
|
data['remembrance'] = remembrance
|
||||||
|
data['remembrance_list'] = remembrance
|
||||||
if data.get('language', []):
|
if data.get('language', []):
|
||||||
language = [json.loads(i) for i in data['language']]
|
language = [json.loads(i) for i in data['language']]
|
||||||
if isinstance(language[0], str):
|
if isinstance(language[0], str):
|
||||||
language = [eval(i) for i in language]
|
language = [eval(i) for i in language]
|
||||||
data['language'] = language
|
data['language'] = language
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
data['language_list'] = language
|
||||||
|
res_data = {k: v for k, v in data.items() if k not in ['event_time']}
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=res_data)
|
||||||
|
|
||||||
|
|
||||||
@router.post("/resume_affix")
|
@router.post("/resume_affix")
|
||||||
|
@ -193,9 +193,11 @@ class InterviewDo:
|
|||||||
|
|
||||||
# 转json字符串
|
# 转json字符串
|
||||||
if 'remembrance_list' in self.data_in:
|
if 'remembrance_list' in self.data_in:
|
||||||
self.data_in.pop('remembrance_list')
|
remembrance = self.data_in.pop('remembrance_list')
|
||||||
|
self.data_in['remembrance'] = remembrance
|
||||||
if 'language_list' in self.data_in:
|
if 'language_list' in self.data_in:
|
||||||
self.data_in.pop('language_list')
|
language = self.data_in.pop('language_list')
|
||||||
|
self.data_in['language'] = language
|
||||||
if 'project_undergo' in self.data_in:
|
if 'project_undergo' in self.data_in:
|
||||||
if self.data_in.get('project_undergo', []):
|
if self.data_in.get('project_undergo', []):
|
||||||
self.data_in['project_undergo'] = [json.dumps(i) for i in self.data_in['project_undergo']]
|
self.data_in['project_undergo'] = [json.dumps(i) for i in self.data_in['project_undergo']]
|
||||||
@ -203,17 +205,17 @@ class InterviewDo:
|
|||||||
self.data_in['project_undergo'] = []
|
self.data_in['project_undergo'] = []
|
||||||
if 'work_list' in self.data_in:
|
if 'work_list' in self.data_in:
|
||||||
if self.data_in.get('work_list', []):
|
if self.data_in.get('work_list', []):
|
||||||
self.data_in['work_list'] = [json.dumps(i) for i in self.data_in['project_undergo']]
|
self.data_in['work_list'] = [json.dumps(i) for i in self.data_in['work_list']]
|
||||||
else:
|
else:
|
||||||
self.data_in['work_list'] = []
|
self.data_in['work_list'] = []
|
||||||
if 'language' in self.data_in:
|
if 'language' in self.data_in:
|
||||||
if self.data_in.get('language', []):
|
if self.data_in.get('language', []):
|
||||||
self.data_in['language'] = [json.dumps(i) for i in self.data_in['project_undergo']]
|
self.data_in['language'] = [json.dumps(i) for i in self.data_in['language']]
|
||||||
else:
|
else:
|
||||||
self.data_in['language'] = []
|
self.data_in['language'] = []
|
||||||
if 'remembrance' in self.data_in:
|
if 'remembrance' in self.data_in:
|
||||||
if self.data_in.get('remembrance', []):
|
if self.data_in.get('remembrance', []):
|
||||||
self.data_in['remembrance'] = [json.dumps(i) for i in self.data_in['project_undergo']]
|
self.data_in['remembrance'] = [json.dumps(i) for i in self.data_in['remembrance']]
|
||||||
else:
|
else:
|
||||||
self.data_in['remembrance'] = []
|
self.data_in['remembrance'] = []
|
||||||
|
|
||||||
@ -268,6 +270,8 @@ class InterviewDo:
|
|||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
updateStr += str(key) + ' = ' + "'" + value + "'" + ' '
|
updateStr += str(key) + ' = ' + "'" + value + "'" + ' '
|
||||||
continue
|
continue
|
||||||
|
if value == None:
|
||||||
|
continue
|
||||||
updateStr += str(key) + ' = ' + str(value) + ' '
|
updateStr += str(key) + ' = ' + str(value) + ' '
|
||||||
if 'uid' in self.data_in:
|
if 'uid' in self.data_in:
|
||||||
self.where.update({
|
self.where.update({
|
||||||
|
@ -1,23 +1,13 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# coding:utf-8
|
# coding:utf-8
|
||||||
from LAC import LAC
|
from LAC import LAC
|
||||||
import re, os
|
import re
|
||||||
import copy
|
import copy
|
||||||
import pdfplumber
|
import pdfplumber
|
||||||
from win32com import client as wc
|
|
||||||
|
|
||||||
lac = LAC(mode='lac')
|
lac = LAC(mode='lac')
|
||||||
|
|
||||||
|
|
||||||
def Translate(input, output):
|
|
||||||
# 转换
|
|
||||||
wordapp = wc.Dispatch('Word.Application')
|
|
||||||
doc = wordapp.Documents.Open(input)
|
|
||||||
# 为了让python可以在后续操作中r方式读取txt和不产生乱码,参数为4
|
|
||||||
doc.SaveAs(output, 4)
|
|
||||||
doc.Close()
|
|
||||||
|
|
||||||
|
|
||||||
def getText_pdf(filename):
|
def getText_pdf(filename):
|
||||||
"""将pdf读成text"""
|
"""将pdf读成text"""
|
||||||
with pdfplumber.open(filename) as pdf_file:
|
with pdfplumber.open(filename) as pdf_file:
|
||||||
@ -160,7 +150,7 @@ def fmt_txt(chk_str):
|
|||||||
school = re.findall(r'.*?学院.*?\n', true_chkStr, re.M)
|
school = re.findall(r'.*?学院.*?\n', true_chkStr, re.M)
|
||||||
if school:
|
if school:
|
||||||
school_str = school[0].replace('\n', '').strip()
|
school_str = school[0].replace('\n', '').strip()
|
||||||
if ' ' in school_str:
|
if ' ' in school_str and ':' not in school_str:
|
||||||
school_list = school_str.split(' ')
|
school_list = school_str.split(' ')
|
||||||
else:
|
else:
|
||||||
school_list = [school_str]
|
school_list = [school_str]
|
||||||
@ -552,6 +542,7 @@ def fmt_txt(chk_str):
|
|||||||
'position_name': '',
|
'position_name': '',
|
||||||
'duty': new_str_list1[-1],
|
'duty': new_str_list1[-1],
|
||||||
}
|
}
|
||||||
|
|
||||||
new_str_list2 = new_str_list1[0].split('\n')
|
new_str_list2 = new_str_list1[0].split('\n')
|
||||||
if '?' in new_str_list1[0]:
|
if '?' in new_str_list1[0]:
|
||||||
work_dict['time'] = new_str_list2[0].split('??')[0].replace('.', '/')
|
work_dict['time'] = new_str_list2[0].split('??')[0].replace('.', '/')
|
||||||
@ -751,7 +742,7 @@ def fmt_txt(chk_str):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# txt = getText_pdf('D:\wokerplay\面试简历\智联招聘_聂礼旺_Web开发工程师_中文.pdf')
|
# txt = getText_pdf('D:\wokerplay\面试简历\吴操.pdf')
|
||||||
# 拉勾
|
# 拉勾
|
||||||
chk_str1 = """
|
chk_str1 = """
|
||||||
|
|
||||||
@ -1265,4 +1256,83 @@ jquery:熟练
|
|||||||
ajax:一般
|
ajax:一般
|
||||||
vue.js:良好
|
vue.js:良好
|
||||||
"""
|
"""
|
||||||
fmt_txt(chk_str4)
|
# boss直聘
|
||||||
|
chk_str6 = """
|
||||||
|
`
|
||||||
|
个人资料__
|
||||||
|
姓 名:吴操 出生年月:1998.04 专 业:计算机网络 电子邮箱:2787668634@qq.com
|
||||||
|
性 别:男 学 历:专科 手 机:15007265224 毕业院校:武汉信息传播职业技术学院
|
||||||
|
__专业技能__
|
||||||
|
精通 Word、Photoshop、AutoCAD、Adobe Dreamweaver、Xshell等软件;
|
||||||
|
熟练CDH大数据平台的部署和系统故障的检测;
|
||||||
|
熟练操作linux系统常用命令;
|
||||||
|
熟练部署grafana监控系统;
|
||||||
|
熟练操作挖矿病毒的检测与查杀;
|
||||||
|
熟悉windows、windows server各版本、linux操作系统的安装;
|
||||||
|
熟悉TCP/IP的四层/七层协议;
|
||||||
|
熟悉mysql、pgsql数据库搭建,及数据库的数据备份和恢复;
|
||||||
|
熟悉计算机硬件搭配及故障处理;
|
||||||
|
熟悉浪潮服务器、飞塔、深信服、三层交换机的搭建
|
||||||
|
参与H3C-f1000-AK115防火墙的搭建;
|
||||||
|
工作经历
|
||||||
|
2020.08-2021.06 深圳市蓝泰源信息技术股份有限公司 运维工程师
|
||||||
|
1、 负责在linux和windows server上部署saas、mysql、pgsql、CDH、ERP以及vms视频服务,并安装
|
||||||
|
grafana监控系统;
|
||||||
|
2、 防火墙配置更新及日常网络查询,三层交换机vlan划分,二层交换机网口检测;
|
||||||
|
3、 网络问题处理,以及机房服务器、防火墙和交换机的软硬件故障处理;
|
||||||
|
4、 负责与合作公交公司、中铁二院等三个项目主管进行技术对接的协调与沟通,以及公司10个旧项目
|
||||||
|
的故障处理;
|
||||||
|
5、 桌面运维故障处理,以及员工入职/离职电脑资产分配,为新员工分配IP,划分网段;
|
||||||
|
6、 负责服务器日常巡检、软件更新、数据备份、故障查询、安全防护等;
|
||||||
|
2019.10-2020.08 北京优海网络科技有限公司 运维工程师
|
||||||
|
1、 负责 Linux/Windows、mysql、华为华三、深信服、飞塔、专用点餐软件等软硬件维护;
|
||||||
|
2、 负责10家门店的软硬件故障检测与维护,及时处理各门店的故障反馈,并定期给所有门店进行日常
|
||||||
|
巡检;
|
||||||
|
3、 负责搭建新门店内部网络、服务器、交换机、防火墙、路由器等设备,录入餐厅内各种布局数据,
|
||||||
|
修改APP内UI界面信息等,最后进行数据打版,完成门店信息建设;
|
||||||
|
4、 保证各门店网络正常运行,配置飞塔内网,确保VPN运行正常,确保总部随时可以远程查看数据;
|
||||||
|
5、 协助各门店更新paid上专用APP,处理电脑上OA系统的故障;
|
||||||
|
项目经历
|
||||||
|
1、 项目名称:办公机房防火墙和三层交换机设备升级
|
||||||
|
硬件环境:H3C-F1000-AK115、H3C-S5560
|
||||||
|
项目简介:公司防火墙和三层交换机设备老化,导致公司网络偶尔接触不良
|
||||||
|
职责描述:1.借此机会给公司重新规划IP,划分vlan;
|
||||||
|
2.将IP确定到个人,并监控每个人流量速率,保证办公网络正常运行;
|
||||||
|
3.更换光纤网络;
|
||||||
|
2、 项目名称:达州机房建设
|
||||||
|
硬件环境:9台宝德服务器,一台数据存储服务器,一台防火墙、一台路由器,一台三层交换机,一
|
||||||
|
台二层交换机
|
||||||
|
项目简介:出差到四川达州搭建机房,划分机房服务器作用,备份数据库数据,更新老旧软件,协
|
||||||
|
助部署虚拟化平台
|
||||||
|
职责描述:1.重新规划整理机房服务器,确保服务器按IP顺序排列;
|
||||||
|
2.升级服务器硬件配置,普通服务器内存由8G升级到16G,磁盘由2G变为4G,并做Raid 1,
|
||||||
|
数据库服务器内存由16G升级到32G,磁盘由2G升级到8G;
|
||||||
|
3.协助宝德工程师将服务器资源整合,制作虚拟平台;
|
||||||
|
4.在虚拟平台上搭建ERP、saas、mysql、pgsql、nginx、tmp、CDH、redis、odoo 11、
|
||||||
|
vms视频和grafana监控系统;
|
||||||
|
5.搭建完成后,测试运营数据是否正常,软件功能是否正常启用;
|
||||||
|
3、 项目名称:新门店建设
|
||||||
|
硬件环境:光纤一条、戴尔R730服务器两台,飞塔防火墙一台,路由器一台,三层交换机一台,审
|
||||||
|
计一台,二次交换机5台,海康威视监控一台,9台AP设备,13台打印机,5台戴尔电脑
|
||||||
|
项目简介:新门店建设,按照配置文档将门店建设起来
|
||||||
|
职责描述:1.使用自己电脑测试网络是否符合标准;
|
||||||
|
2.网线直插飞塔防火墙进行配置,确保VPN正常使用;
|
||||||
|
3.配置三层交换机进行vlan划分;
|
||||||
|
4.部署服务器,制作RAID 5,部署mysql数据库,保证网络通畅;
|
||||||
|
5.部署审计,并让AP设备连接审计,测试AP设备网络,保证网速;
|
||||||
|
6.录入门店详细参数;
|
||||||
|
7.测试验证录入效果,以及到门店各处测试网络和各处打印机是否正常联网打印;
|
||||||
|
8.确定无问题后,试营业进行最后测试;
|
||||||
|
9.后台删除所有数据,重新上传门店信息,进行数据打版,正式开始运营;
|
||||||
|
自我评价
|
||||||
|
优点
|
||||||
|
1、为人踏实肯干,原意积极主动解决工作生活中遇到的各种问题;
|
||||||
|
2、待人真诚,能很好的和同事领导相处,提高工作效率;
|
||||||
|
3、做事认真负责,有较强的责任心,具有较强的适应能力、抗压能力和团队协作能力;
|
||||||
|
缺点
|
||||||
|
专业能力有些欠缺,不太善于表达。但我原意好好学习,也一定会好好学习,希望贵公司能给我个机会,
|
||||||
|
我一定好好珍惜,认真工作,努力提升自己的专业能力,为公司创造更大的价值。
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
fmt_txt(chk_str6)
|
||||||
|
Loading…
Reference in New Issue
Block a user