对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实现12306登录并保存cookie的方法示例

经过倒腾12306的登录,还是实现了,请求头很重要...各位感兴趣的可以继续写下去..... import sys import time import requests from...

python 在某.py文件中调用其他.py内的函数的方法

假设名为A.py的文件需要调用B.py文件内的C(x,y)函数 假如在同一目录下,则只需 import B if __name__ == "__main__": B.C(x,y)...

Saltstack快速入门简单汇总

saltstack是使用python编写的开源自动化部署与管理工具,拥有良好的扩展性以及优秀的执行效率,配置简单,可以工作在多平台上,经常被描述为 Func加强版+Puppet精简版。...

Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)

Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)

0. 我们如何通过邮件系统完成远程控制电脑(关机、重启等)? 实现思路: 需要有两个邮箱:接收指令邮箱(A)发送指令邮箱(B) 被控制的电脑(查看 A 邮箱): 1. 每隔指...

使用Python中的tkinter模块作图的方法

使用Python中的tkinter模块作图的方法

python简述: Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。P...