Python Forum

Full Version: What is error: "TypeError: 'module' object is not callable"
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
import getpass
import sys
import telnetlib
HOST = input("Enter device IP: ")
user = input("Enter your telnet user: ")
password = getpass.getpass()
tn = telnetlib(HOST)
tn.read("Username: ")
tn.write(user + "\n")
if password:
	tn.read_until("Password: ")
	tn.write(password + "\n")
tn.write("enable\n")
tn.write("cisco\n")
tn.write("config t\n")
tn.write("int loopback 0\n")
tn.write("ip address 1.1.1.1 255.255.255.255\n")
tn.write("end\n")
tn.write("exit\n")
print(tn.read())
Anyone help me this error:
Error:
Traceback (most recent call last): File "D:\NetworkAutomation\AssignIP.py", line 7, in <module> tn = telnetlib(HOST) TypeError: 'module' object is not callable
Thanks you so much.
You need to call the Telnet class of the telnetlib module.
Change
tn = telnetlib(HOST)
to
tn = telnetlib.Telnet(HOST)
That's because you're trying to treat the module telnetlib like a function and it isn't, so you can't call it.
I'll explain what that error means.

When you call something that has () in it then it's a callable.
Whenever you call something ,it is initialized with __call__() method that is built in.
Your getting that error since the object you are calling doesn't have a built in __call__() method defined.