我正在尝试在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
答案 0 :(得分:3)
str.__mod__()
检测到右侧操作数是元组,因此尝试使用格式化中的所有元素。要解决此问题,请创建一个包含元组的1元组。
print "proc %s matches." % (i,)