我正在尝试执行命令并将结果存储在文本文件中,这部分代码正在工作。现在,我试图计算所创建的新文本文件中的行数,并确定用户ID是否有效。 现在的问题是我的for循环不适用于我的python
这是我的代码的一部分:
with open('USER_LIST', "r") as infile:
for core_id in infile:
filename = "%s.txt" %core_id.strip()
subprocess.Popen("query", stdout=outfile , shell=True)
count = 0
with open(filename, "r") as f:
for line in f:
logger.info("inside for loop")
count = count + 1
if count < 15:
invalid_id_file = "valid_id.txt"
with open(invalid_id_file , "a") as myfile:
myfile.write(core_id)
我的代码从不打印此行"inside for loop"
。我该如何解决这个问题?
答案 0 :(得分:1)
您必须等待写入文件的过程完成。添加:
p = subprocess.Popen("query", stdout=outfile , shell=True)
p.wait()