找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12960|回复: 2

[问题求助] Python报读慢造成子线程堵塞报错,请教高手?【己解决】

[复制链接]
发表于 2021-10-21 20:18:43 | 显示全部楼层 |阅读模式
本帖最后由 keshun 于 2021-11-5 10:47 编辑
  1. import win32com.client, pythoncom, threading, time

  2. def aa():
  3.     pythoncom.CoInitialize()
  4.     speak = win32com.client.Dispatch('SAPI.SPVOICE')
  5.     speak.Speak(a)

  6. a='1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20'

  7. for i in range(10):
  8.     threading.Thread(target=aa).start()
  9.     for j in range(5):
  10.         time.sleep(1)
  11.         print('{}{}'.format(i,j))

  12. input("关闭窗口")
复制代码
报读慢造成子线程堵塞报错,请教高手?
 楼主| 发表于 2021-10-22 07:25:00 | 显示全部楼层
本帖最后由 keshun 于 2021-10-22 07:27 编辑

回复 1# keshun


    代码运行子线程报读10次,其中5次堵塞报错,最终只报读了5次,主线程正常运行。
以下是第3次报读报错信息,求高手指教??
Exception in thread Thread-3:
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\桌面\1.py", line 6, in aa
    speak.Speak(a)
  File "<COMObject SAPI.SPVOICE>", line 2, in Speak
pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147201018), None)
 楼主| 发表于 2021-11-5 10:47:32 | 显示全部楼层
  1. try: speak.Speak('请注意:{}'.format(q4))
  2. except: pass
  3. else: pass
复制代码
线程堵塞时自动跳过算了,必竟代码报读集中一起的时候不常出现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:37 , Processed in 0.017168 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表