У меня есть сценарий, над которым я работаю, превращая четыре отдельных шага (сценария) в 1. Я подошел к своей последней проблеме и знаю, что над этим не задумываюсь, но мне нужна небольшая помощь, чтобы решить эту проблему. угол.
Мне нужно либо выяснить, как объединить два файла после последнего оператора IF-L OOP, либо найти способ записать непосредственно в один текстовый файл из сценария в необходимом порядке (см. ниже как окончательный).
В настоящее время сценарий показывает, что я пытаюсь объединить (добавить) внизу после операторов IF-L OOP. Если более эффективный способ будет лучше, пожалуйста, пролей на меня немного света. Чтобы быть более ясным, надеюсь, я попытался записать непосредственно в один файл, и оба совпадения if-Statement отображаются, но мой второй заголовок da_list повторяется, потому что он находится внутри l oop или вообще не отображается, если у меня есть текст Заголовок за пределами l oop. Вот почему вы видите заголовки перед операторами if. Кроме того, чтобы вы знали, как выглядит файл cf.txt.
пример фрагмента cf.txt. Точки (точки) по одной на столбец (AD). Слова Mixchar начинаются в столбце E
ABCDE
строка заголовка
. . . . 5J1SYMC2
. . . . 2TEHUOB1
. . . . TWSIHNB2
. . . . SYHNRWE2
. . . . BFHYSJF1
cf = open(r"E:\test2\cf.txt", "r")
f = open(r"E:\test2\F.txt", "r")
da = open(r"E:\test2\DA.txt","r")
output5 = open(r"E:\test2\output5.txt", "a")
output6 = open(r"E:\test2\output6.txt", "a")
list2 = f.read().split()
list3 = da.read().split()
next(cf)
newlist = []
f_list = []
da_list = []
output5.write(" F_List \n") #text header for output5
output5.write("\n")
output6.write(" Da_List \n") #text header for output6
output6.write("\n")
for line in cf: #cycles thru cf.txt column 5 removes last 2 chars_
rc = (line.split()[4][:-2]) #and append string(rc) in (newlist).
if rc not in newlist:
newlist = []
newlist.append(rc)
check = any(item in newlist for item in list2) #check string(rc) if exist in f_list_
if check is True: #clears previous f_list line and appends new.
if rc not in f_list:
f_list = []
f_list.append(f'{rc}', ),
output5.write(f'{f_list}'[2:-2]), #writes (rc) strings that exist in f_list to
output5.write('\n') #output5.txt
check = any(item in newlist for item in list3) #check string(rc) if exist in da_list_
if check is True: #clears previous da_list line and appends new.
if rc not in da_list:
da_list = []
da_list.append(f'{rc}', ),
output6.write(f'{da_list}'[2:-2]), #writes (rc) strings that exist in f_list to
output6.write('\n') #output6.txt
fin = open(r"E:\test2\output6.txt", "r") #trying to append output6.txt to output5.txt
data2 = fin.read()
fin.close()
fout = open(r"E:\test2\output5.txt", "a")
fout.write(data2)
fout.close()
введите здесь код
Окончательный результат требуется в файле output5.txt. Заголовок F_list со случайными словами mixchar соответствует из строки (cf.txt) и f_list. И то же самое для da_list, напечатанного (добавленного) ниже.
F_List
2TEHUO
5JESYM
BFHYSJ
SYHNRW
TWSIHN
Da_List
HKHDU7
DJSKUO
DJDH8
KSIE3
SWSYR