0

ファイルを開いて、その中の行からすべての無効な ID のリストを取得しようとしています..無効な ID を見つけたら..1 つの ID が無効な場合、行全体 (複数の ID がある) を削除したい...無効なIDを見つけるポイントに到達する可能性があります..ファイルから行を削除する方法、または残りの適切な行を新しいファイルに書き込む方法についての入力が必要です..サンプル入力と予想される出力を以下に示します...誰でも入力を提供できますか?

import os
import sys
import time
import simplejson as json
from sets import Set
import operator
import unicodedata
import getopt

'''
list.txt

350882 348521 350166
346917 352470
360049
'''

'''
EXPECTED OUTPUT:-
346917 352470
360049
'''
def func (GerritId):
    if GerritId == '350166':
        value = "GERRIT IS INCOMPLETE"
    else:
        value = "GERRIT LOOKS GOOD"
    return value

gerrit_list=[]
invalid_gerrit = []
cherry_pick_list = [' ']
with open('list.txt','r') as f :
    for line in f :
        gerrit_list = line.split(' ')
        print "line"
        print line
        print "gerrit_list"
        print gerrit_list
        for GerritId in gerrit_list :
            GerritId = GerritId.strip()
            print "GerritId"
            print GerritId
            #returnVal = RunCheckOnGerrit_Module.GerritCheck(GerritId)
            #GerritInfoItem['GerritId'] = GerritInfoItem['GerritId'] + "\n"
            returnVal = func(GerritId)
            #print "returnVal"
            #print returnVal
            if returnVal in ('GERRIT IS INCOMPLETE'  or 'NOTHING IS SET' or 'TO BE ABANDON OR NEEDS RESUBMISSION') :
                print returnVal
                invalid_gerrit.append(GerritId)
            else:
                print returnVal

print invalid_gerrit

with open('list.txt','r') as f :
    for line in f :
        #delete the whole line if any invalid gerrit is presnet
        gerrit_list = line.split(' ')
        print "line"
        print line
        print "gerrit_list"
        print gerrit_list
        for GerritId in invalid_gerrit:
            GerritId = GerritId.strip()
            #delete the whole line if any invalid gerrit is presnet
4

1 に答える 1