python多线程怎么跑?

python到底怎么开启多线程啊~~
compress是一个压缩图片的函数,os.wait是遍历了所有的目录和文件
teach me怎么开启多线程跑这个函数😭

originpath = r"E:\标签照片"
targetpath = r"E:\标签照片\output"
    for root, dirs, files in os.walk(originpath):
        for file in files:
            compress(file,originpath,targetpath)

线程池代码,直接把线程执行的时候改成你的处理文件的代码就行:

import threading
# 从数据库提取数据的类
class Scheduler():
    def __init__(self):
        self._lock = threading.RLock()
        self.start = 0
        # 每次取10000条数据
        self.step = 10000

    def getdata(self):
        # 上锁,以免多线程同时对数据库进行访问,取出重复数据
        self._lock.acquire()
        # 进行取数据操作
        data = 'select * from table' \
               'where id between self.start and self.start + self.step'
        # 取完数据后,指针后移
        self.start += self.step
        self._lock.release()
        return data

# 处理数据的过程写在这里
def processdata():
    # 从该实例中提取数据
    data = scheduler.getdata()
    while data:
        # 进行处理数据的具体操作:
        # 去重、补缺、运算...只要还有数据,本线程就继续取新数据
        # 然后再获取数据,进行循环
        data = scheduler.getdata()

# 创建多线程,threads_num为创建的线程数
def threads_scheduler(threads_num):
    threads = []
    for i in range(threads_num):
        # 创建线程
        td = threading.Thread(target=processdata, name='th'+str(i+1))
        threads.append(td)
    for t in threads:
        # 启动线程
        t.start()
        for t in threads:
            # 子线程守护
            t.join()
            print('数据已全部处理成功')

if __name__=='__main__':
    # 实例化一个调度器,初始化参数
    scheduler = Scheduler()
    # 创建线程,开始处理数据
    threads_scheduler(4)

你找个多线程得例子,之后把你要的东西放进去

搜索:python 线程池
其实很简单,没几句代码
不要自己开线程,你开一个两个还好,遍历文件夹每个文件都开一个线程,别给cpu搞崩溃了