代码之家  ›  专栏  ›  技术社区  ›  Tony The Lion

为什么它不读取我的变量?

  •  1
  • Tony The Lion  · 技术社区  · 14 年前

    我是一个python新手,我不明白为什么它不会在函数dns.zone.query(ip,addr)中读取我的ip和addr变量????

    import dns.query
    import dns.zone
    import sys
    
    IP = sys.stdin.readline()
    ADDR = sys.stdin.readline()
    
    
    z = dns.zone.from_xfr(dns.query.xfr(IP , ADDR))
    names = z.nodes.keys()
    names.sort()
    for n in names:
        print z[n].to_text(n)
    

    当我传递一个实际的IP和域时,它会工作,但不使用变量…我不明白怎么了?

    3 回复  |  直到 14 年前
        1
  •  2
  •   systempuntoout    14 年前

    我会尝试:

    IP = sys.stdin.readline().strip()
    ADDR = sys.stdin.readline().strip()
    

    在变量后添加一些打印以进行调试:

    print '_%s_' % IP
    print '_%s_' % ADDR
    
        2
  •  6
  •   Bob    14 年前

    readline() 将包含一个尾随新行。你可以使用 sys.stdin.readline().strip()

        3
  •  2
  •   robert vano    14 年前

    尝试 sys.stdin.readline().strip() . 您需要删除换行符。