对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设计】。

相关文章

pycharm中使用anaconda部署python环境的方法步骤

pycharm中使用anaconda部署python环境的方法步骤

今天来说一下python中一个管理包很好用的工具anaconda,可以轻松实现python中各种包的管理。相信大家都会有这种体验,在pycharm也是有包自动搜索和下载的功能,这个我在前...

fastcgi文件读取漏洞之python扫描脚本

fastcgi文件读取漏洞之python扫描脚本

PHP FastCGI的远程利用 说到FastCGI,大家都知道这是目前最常见的webserver动态脚本执行模型之一。目前基本所有web脚本都基本支持这种模式,甚至有的类型脚本这是唯一...

解决Django模板无法使用perms变量问题的方法

解决Django模板无法使用perms变量问题的方法

前言 本文主要给大家介绍了关于Django模板无法使用perms变量的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 解决方法: 首先,在使用Django内置...

Pycharm学习教程(2) 代码风格

Pycharm学习教程(2) 代码风格

如何创建一个Python工程并使其具有Pycharm的代码风格,具体如下 1、主题   这部分教程主要介绍如何创建一个Python工程并使其具有Pycharm的代码风格。你将会看到Pyc...

python3编写C/S网络程序实例教程

本文以实例形式讲述了python3编写C/S网络程序的实现方法。具体方法如下: 本文所述实例是根据wingIDE的提示编写的一个C/S小程序,具体代码如下: client端myclien...