python--高级内容(csv与线程)

本文介绍了Python中处理CSV文件的基本概念,包括CSV文件的特点和如何使用Python内置的csv模块进行操作。此外,还详细讲解了Python实现线程的两种方法:函数方式和类方式,并提供了相应的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python处理csv文件

CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。是纯文本,任何编辑器都可以打开。与Excel文件不同,CSV文件中:

值没有类型,所有值都是字符串

不能指定字体颜色等样式

不能指定单元格的宽高,不能合并单元格

没有多个工作表

不能嵌入图像图表

在CSV文件中,以,作为分隔符,分隔两个单元格。像这样a,,c表示单元格a和单元格c之间有个空白的单元格。依此类推。

不是每个逗号都表示单元格之间的分界。所以即使CSV是纯文本文件,也坚持使用专门的模块进行处理。Python内置了csv模块。

线程:

基本概念:
    线程:进程中的每个子任务,不能独立存在,CPU执行的最小  单位
    进程:独立的所有子任务的集合
    线程,进程:目的都是想同时完成任务
特点:
    进程的特点:独立(内存独立,cpu使用独立)启动进程开销大(速率低),进程之间很难共享数据,和数据通信,数据安全高。
    线程的特点:依赖进程(内存共享,CPU使用独立)启动开销小,线程之间共享数据容易,方便通信,线程不安全。
Python2:thread
Python3:_thread
    threading(功能相比_thread更强大,推荐使用)
threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法:
threading.currentThread(): 返回当前的线程变量。
threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。
除了使用方法外,线程模块同样提供了Thread类来处理线程,Thread类提供了以下方法:
run(): 用以执行线程活动的方法。
start():启动线程活动使线程达到一个就绪状态
join([time]):强制调用某个线程进入执行状态,本线程礼让CPU资源,进入阻塞,休眠状态,直至某个线程退出/抛异常/超时 本线程才进入就绪状态 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。
isAlive(): 返回线程是否活动的。
getName(): 返回线程名。
setName(): 设置线程名。

实现线程的两种方式:

1:函数方式实现

函数实现方式:线程必须依赖函数实现,不能单独运行。当函数结束,线程结束。所以如果想让线程一直运行,就要想办法让程序不结束,比如在程序最后加一个input(),或死循环。
示例:

import threading
import time
def someting():
    for i in range(1,11):
        print(i)
        time.sleep(1)

threading._start_new_thread(someting,())
print("main")


2:类方式实现

线程类:
1.继承threading.Thread
2.写构造方法,且必须调用父类的构造方法
3.重写父类的run方法,会在start之后自动调用
4.实现开始方法,如果重写了start()方法,一定要调用父类的start()
需要调用start()方法才可以执行

示例:

class Mythread(threading.Thread):
 def __init__(self):
     threading.Thread.__init__(self)
     print("Mythread")
 def run(self):
 for i in range(1,11):
    print(i)
    time.sleep(1)#单位为秒
 def start(self):
 print("开始Mythread")
 threading.Thread.start(self)

t=Mythread()
t2 = Mythread()
t.start()
t.join()#加入并阻断主线程的执行,即执行完才执行主线程,可以加时间,join(3)阻断3秒结束阻断
t2.start()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值