Como resolver o DNS em Python?

Eu tenho um script DNS que permite aos usuários resolver nomes DNS digitando nomes de sites em um prompt de comando do Windows.

Examinei vários guias sobre a resolução de DNS, mas meu script ainda não parece resolver os nomes (www.google.com) ou (google.com) para o endereço IP.

O script gera um erro de

Traceback (most recent call last):
  File "C:\python\main_menu.py", line 37, in ?
    execfile('C:\python\showdns.py')
  File "C:\python\showdns.py", line 3, in ?
    x = input ("\nPlease enter a domain name that you wish to translate: ")
  File "<string>", line 0, in ?
NameError: name 'google' is not defined

O código:

import socket

x = input ("\nPlease enter a domain name that you wish to translate: ")

print ("\n\nThe IP Address of the Domain Name is: "+socket.gethostbyname_ex(x))

x = raw_input("\nSelect enter to proceed back to Main Menu\n")
if x == '1': 
execfile('C:\python\main_menu.py')

Por favor, dê conselhos sobre os códigos. Obrigado!