2015-08-17 3 views
0

Im пытается получить SPF записи для списка доменов из file.The Файл будет содержать входы, как,Python вопрос Расщепление

Input_Domains.txt 

1,box.com 
2,blah.com 
3,.... 

Сценарий:

#!/usr/bin/python 

    import sys 
    import socket 
    import dns.resolver 
    import re 


    def getspf (domain): 
     answers = dns.resolver.query(domain, 'TXT') 
     for rdata in answers: 
     for txt_string in rdata.strings: 
      if txt_string.startswith('v=spf1'): 
      return txt_string.replace('v=spf1','') 

    with open('Input_Domains.txt','r') as f: 
     full_spf="" 
     spf_rec="" 
     for line in f: 
      x=line.split(',') 
      app_id=x[0] 
      domains=x[1] 
      try: 

       full_spf+=getspf(domains.strip())+"\n" 
       #output=full_spf 
       #o_spf=x[0]+","+full_spf+=getspf(x.strip())+"\n" 
      except Exception: 
       pass 
    my_file=open("out_spf.txt","w") 
    my_file.write(full_spf) 
    my_file.close() 

Теперь я вывожу get - это всего лишь записи определенного домена. Я хотел бы получить App_ID, за которым следует запись spf для домена. Любое предложение по этому поводу?

Example Output : 
1,SPF records of box.com... 
2,spf recors of blah.com.... 
...... 

ответ

3

Проблема вашего кода заключается в том, что вы пишете только один раз, когда вы должны писать для каждой строки.

with open('Input_Domains.txt','r') as f: 
    with open('Output_spf.txt', 'w') as g: 
     for line in f: 
      # ... 
      g.write(full_spf) 
+1

Да, спасибо Mate! Решил это @greut – Arun

Смежные вопросы