#!/usr/bin/env python # -*- coding:utf-8 -*- #导入正则模块 import re #导入os模块,本例用它来做文件写入操作 import os #导入日志模块 import logging import logging.handlers import xlwt import xlrd import MySQLdb import pymysql db = pymysql.connect("localhost","root","123456","my_db_hanchuan01" ) # 写txt的方法 def writeTxt(result): # 打开文件,a代表追加 # f=open(r‘./result_一无所有.txt‘,‘a‘, encoding=‘utf-8‘) f=open(r‘./phoneNum01_output.txt‘,‘a‘, encoding=‘utf-8‘) # 写入数据result f.write(result) # 关闭文件 f.close() # 遍历文件+采集手机号的方法 def count(dirname=‘D:/tmp/临时数据源/sheet转换/txtfiles‘): #-----------------------正则-------------------------------- #手机号正则 pattern_mob = re.compile(‘1[345789]\d{9}‘) # pattern_mob_plus = re.sub(‘1[345789]\d{9}‘,‘1[345789]\d{9}+123‘) #---------------------统计文件------------------------------ # 记录文件总数的变量 count=0 num=0 # 记录含手机号文件数的变量 for root, dirs, files in os.walk(dirname): # 得到每个文件夹下文件数量 # fileLength = len(files) # -------------------将每个文件夹下的文件数量加到总数中 # count = count + fileLength for filename in files: # 将文件名与路径拼接成全路径 f = open(dirname+‘/‘+filename,‘r+‘, encoding=‘utf-8‘) var1 = (filename) # 将文件名写入数据库 result = pattern_mob.findall(f.read()) # result = pattern_mob_plus.findall(f.read()) # result = pattern_mob.findall # result = result+"123" print(result) print(type(result)) cursor = db.cursor() # 使用 cursor() 方法创建一个游标对象 cursor # cursor.execute("INSERT INTO 00_HEFEI_PHONES VALUES(‘%s‘, %s)" % (var1,result)) # 执行sql语句 db.commit() # -----------------抓取手机号,正则查找文件里匹配的字符 # if result: # ---------------统计含手机号的文件数,如果result不为空,则说明含手机号,则num计数器加1 # num += 1 # -------------------调用函数,将手机号写入文件 # writeTxt(str(result)+(dirname)+(filename)+‘\n‘) #print("the path of the file: "+(dirname)+‘/‘+(filename)+‘\n‘) # writeTxt(result+‘\n‘) # writeTxt(str(result)+‘\n‘) print(type(result)) # print(result) # print("the file name: "+(filename)+‘\n‘) # print((filename1)+‘\n‘) # 主函数 if __name__ == ‘__main__‘: # # 调用count()h函数 count() db.close()
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did171701