lanbda_20080810 2023-02-12 12:19 采纳率: 60.9%
浏览 34
已结题

python多线程报错

我想做一个简易的多线程来运行一些cmd命令,但是总是报一个很玄学的错误。

import threading
import os

class RUN:
    def unit(data):
        data = os.popen(str(data))
        data = data.read()
        print(data)
    def RUN(data):
        print(data)
        name_list = []
        theard = threading.Thread(target=RUN.unit,args=(data))
        theard.start()
        print(theard)
        theard.join()
        print(theard)


报错如下

Exception in thread Thread-1 (unit):
<Thread(Thread-1 (unit), started 3388)>
Traceback (most recent call last):
File "F:\main_file\main\python-3-11-1\Lib\threading.py", line 1038, in _bootstrap_inner
self.run()
File "F:\main_file\main\python-3-11-1\Lib\threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
TypeError: RUN.unit() takes 1 positional argument but 8 were given
<Thread(Thread-1 (unit), stopped 3388)>

  • 写回答

3条回答 默认 最新

  • 元气少女缘结神 2023-02-12 13:14
    关注

    传递方式改下,data后加个逗号 ,
    theard = threading.Thread(target=RUN.unit,args=(data,))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程