我是Python的新手,使用Python 2.7。我从命令行传递一个字符串列表,并使用该字符串列表运行两个不同的查询。该列表包含4个有效且在第一个查询中返回的ID。最后两个ID无效。我需要将两个结果打印到文件中。
我正在运行查询:
overflow-y: scroll
python empdetails.py -i "'ADM10','TMC34','LAB57','WSD44','GM22','AD32'" -o (file_location)
答案 0 :(得分:0)
问题在于:
if new == 0:
with open('output', 'a') as f:
for emp in new:
f.write(str(emp[0]) + " " + ("Invalid ID\n"))
首先,new
将为空list
或tuple
。要检查这一点,您无法执行if new == 0
..您必须执行以下操作:
if not new:
第二个问题是你的逻辑:
您在检查new
的块内迭代if new == 0
。你怎么期望这个工作? (我猜上面代码中的复制粘贴太多了)。这样做:
if not new:
with open('output', 'a') as f:
f.write("Invalid ID\n")