对Python 多线程统计所有csv文件的行数方法详解

yipeiwu_com6年前Python基础

如下所示:

#统计某文件夹下的所有csv文件的行数(多线程)
import threading
import csv
import os
 
class MyThreadLine(threading.Thread): #用于统计csv文件的行数的线程类
 def __init__(self,path):
  threading.Thread.__init__(self) #父类初始化
  self.path=path #路径
  self.line=-1 #统计行数
 def run(self):
  reader = csv.reader(open(self.path, "r")) # 读取csv文件
  lines=0
  for item in reader: # 读取每一行
   lines+=1
  self.line=lines #保存行数
  print(self.getName(),self.line)
 
 
path="C:\\Users\\aa\\csv" #所有csv文件所在的文件夹
filelist=os.listdir(path) #存储了所有的csv文件名
threadlist=[] #线程列表
for filename in filelist:
 newpath=path+"\\"+filename #代表绝对路径
 mythd=MyThreadLine( newpath) #创建线程类对象
 mythd.start() #线程开始干活
 threadlist.append(mythd) #增加线程到线程列表
for mythd in threadlist: #遍历每一个线程
 mythd.join() #等待所有线程干完活,再继续执行以下代码
linelist=[] #csv文件行数列表
for mythd in threadlist:
 linelist.append(mythd.line)
print(linelist)
 

以上这篇对Python 多线程统计所有csv文件的行数方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现信用卡系统(支持购物、转账、存取钱)

Python实现信用卡系统(支持购物、转账、存取钱)

最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享...

python实现的udp协议Server和Client代码实例

直接上代码:Server端:复制代码 代码如下: #!/usr/bin/env python # UDP Echo Server -  udpserver....

Ubuntu16.04/树莓派Python3+opencv配置教程(分享)

无论是Windows、Linux、还是树莓派 。配置python3的opencv环境都是让人头大的一件事情,尤其是许多人用pip安装以后,发现opencv虽然装上了,但是却装在了系统原生...

Python 中 Virtualenv 和 pip 的简单用法详解

本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下: 0X00 安装环境 我们在 Python 开发和学习过程中需要用到各种库,然后在各个...

跨平台python异步回调机制实现和使用方法

1 将下面代码拷贝到一个文件,命名为asyncore.py 复制代码 代码如下:import socketimport selectimport sys def ds_asyncore(...