python - 无法创建线程,因为只有当我给它一个长于 1 的字符串时,“需要 1 个位置参数但给定 4 个”
问题描述
我正在用python制作一个聊天服务器。到目前为止,我一直在创建线程,但是当我尝试使用用户名的参数创建一个线程时,它会因上述错误而失败 - 但仅当用户名超过 1 个字符时。
如果我给它用户名“A”,它工作正常,但用户名“Alex”给出错误。我该如何解决?
他们在同一个班级。
我创建线程
Thread(target=Main.ManageClientHighLevel, args=(Username)).start()
该功能的开始是:
def ManageClientHighLevel(Username):
我该如何解决?
解决方案
Thread
的args
参数需要一个Iterable
,因此您必须在 a 中提供您的单个参数tuple
:
Thread(target=Main.ManageClientHighLevel, args=(Username,)).start()
否则,它会将您提供的单个字符串作为 an 处理Iterable
并遍历每个字符。
推荐阅读
- javascript - 在页面上的所有段落或其他元素中显示类名
- c++ - 如何在 C++ 中优雅地对待位掩码?
- java - 如何多次使用按钮?
- css - 在 mobil 中将表格方向更改为垂直模式
- android - 颤振 - 如何为文本的一部分着色(即在句子中间)
- python - 如何制作一个python程序来解密没有密钥的凯撒密码?(频率分析)
- android - 使用 MediaCodec 和 GLSurfaceView 浏览视频
- c - 使用 C 编程语言从 Arduino 串口检索数据时出错
- php - 在codeigniter中注销后有什么方法可以禁用浏览器后退按钮
- sql-server - 在 SQL 中生成连续月份