尝试在for循环中传递字符串时发生TypeError

2024-06-08 08:03:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在for循环中的if语句之后传递一个元组。我不确定我做错了什么

procs = ((1432, 'var', 'var2', procname),(1556, 'var4', 'var5', othername),) 

def killprocs(procname):
    print "searching for %s" % procname      
    for i in procs:
        if procname in i[3]:
            print "proc %s matches." % i
        else:
            pass

我得到:

Traceback (most recent call last):
  File "processkiller.py", line 59, in <module>
    killprocs(args.procname)
  File "processkiller.py", line 24, in killprocs
    print "proc %s matches." % i
TypeError: not all arguments converted during string formatting

Tags: inpyforifline语句procfile
1条回答
网友
1楼 · 发布于 2024-06-08 08:03:29

str.__mod__()正在检测右侧操作数是元组,因此正在尝试使用格式化中的所有元素。要解决这个问题,请创建一个包含元组的1元组

print "proc %s matches." % (i,)

相关问题 更多 >