473,836 Members | 1,585 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

TypeError: 'module' object is not callable (newby question)

Why does this work from the python prompt, but fail from a script?
How does one make it work from a script?

#! /usr/bin/python
import glob
# following line works from python prompt; why not in script?
files=glob.glob ('*.py')
print files

Traceback (most recent call last):
File "./glob.py", line 2, in ?
import glob
File "/home/cdr/python/glob.py", line 5, in ?
files=glob.glob ('*.py')
TypeError: 'module' object is not callable
Aug 14 '06 #1
10 11530
works for me. do you do anything in your script besides that?
Charles Russell wrote:
Why does this work from the python prompt, but fail from a script?
How does one make it work from a script?

#! /usr/bin/python
import glob
# following line works from python prompt; why not in script?
files=glob.glob ('*.py')
print files

Traceback (most recent call last):
File "./glob.py", line 2, in ?
import glob
File "/home/cdr/python/glob.py", line 5, in ?
files=glob.glob ('*.py')
TypeError: 'module' object is not callable
Aug 14 '06 #2
In <yp2Eg.1858$VQ. 825@trndny05>, Charles Russell wrote:
Why does this work from the python prompt, but fail from a script?
How does one make it work from a script?

#! /usr/bin/python
import glob
# following line works from python prompt; why not in script?
files=glob.glob ('*.py')
print files

Traceback (most recent call last):
File "./glob.py", line 2, in ?
import glob
File "/home/cdr/python/glob.py", line 5, in ?
files=glob.glob ('*.py')
TypeError: 'module' object is not callable
Don't call your file `glob.py` because then you import this module and not
the `glob` module from the standard library.

Ciao,
Marc 'BlackJack' Rintsch
Aug 14 '06 #3
Charles Russell wrote:
Why does this work from the python prompt, but fail from a script?
How does one make it work from a script?

#! /usr/bin/python
import glob
# following line works from python prompt; why not in script?
files=glob.glob ('*.py')
print files

Traceback (most recent call last):
File "./glob.py", line 2, in ?
import glob
File "/home/cdr/python/glob.py", line 5, in ?
files=glob.glob ('*.py')
TypeError: 'module' object is not callable
Short answer: Change the name of your script file.

Long answer:

<humour>
It is attempting to emulate the mythical ooloo bird, which is allegedly
capable of evading would-be predators by vanishing up its own
fundamental orifice. This topological exploit won't be available in
Python until the as yet still mythical Python 3000.
</humour>

Contemplate the following:

C:\junk>type glob.py
if __name__ == "__main__":
print "*** Being run as a script ..."
import glob
print "glob was imported from", glob.__file__
print "glob.glob is", type(glob.glob)
print "glob.glob was imported from", glob.glob.__fil e__
print "(glob.glob is glob) is", glob.glob is glob
print "--- end of script"
else:
print "*** Aarrgghh!! I'm being imported as", __name__
import glob
print "glob was imported from", glob.__file__
print "glob.glob is", type(glob.glob)
print "glob.glob was imported from", glob.glob.__fil e__
print "(glob.glob is glob) is", glob.glob is glob
print "--- end of import"

C:\junk>glob.py
*** Being run as a script ...
*** Aarrgghh!! I'm being imported as glob
glob was imported from C:\junk\glob.py c
glob.glob is <type 'module'>
glob.glob was imported from C:\junk\glob.py c
(glob.glob is glob) is True
--- end of import
glob was imported from C:\junk\glob.py c
glob.glob is <type 'module'>
glob.glob was imported from C:\junk\glob.py c
(glob.glob is glob) is True
--- end of script

HTH,
John

C:\junk>

Aug 14 '06 #4
Marc 'BlackJack' Rintsch wrote:
>
Don't call your file `glob.py` because then you import this module and not
the `glob` module from the standard library.

Ciao,
Marc 'BlackJack' Rintsch
Yes, thanks. Renaming to myglob.py solved the problem. But why does the
conflict not occur when the code is run interactively from the python
prompt? Somewhat related - I haven't found the magic word to invoke a
..py script from the python prompt (like the command "source" in csh,
bash, tcl?) "import" runs the script, but then complains that it is not
a module.
Aug 14 '06 #5
John Machin wrote:
>
Contemplate the following:

C:\junk>type glob.py
if __name__ == "__main__":
print "*** Being run as a script ..."
import glob
print "glob was imported from", glob.__file__
print "glob.glob is", type(glob.glob)
print "glob.glob was imported from", glob.glob.__fil e__
print "(glob.glob is glob) is", glob.glob is glob
print "--- end of script"
else:
print "*** Aarrgghh!! I'm being imported as", __name__
import glob
print "glob was imported from", glob.__file__
print "glob.glob is", type(glob.glob)
print "glob.glob was imported from", glob.glob.__fil e__
print "(glob.glob is glob) is", glob.glob is glob
print "--- end of import"
Thanks. Another newby question: __name__ and __file__ appear to be
predefined variables. To look up their meaning in the manual, is there
some method less clumsy than grepping the whole collection of .html
source files? I can't find any comprehensive index.
Aug 14 '06 #6
Charles Russell wrote:

But why does the
conflict not occur when the code is run interactively from the python
prompt?
Because, I now realize, I had not yet created glob.py when I tried that.
Aug 14 '06 #7

Charles Russell wrote:
Marc 'BlackJack' Rintsch wrote:

Don't call your file `glob.py` because then you import this module and not
the `glob` module from the standard library.

Ciao,
Marc 'BlackJack' Rintsch

Yes, thanks. Renaming to myglob.py solved the problem. But why does the
conflict not occur when the code is run interactively from the python
prompt?
It does for me on Windows -- see below --because '' (representing the
cwd) is injected at the front of sys.path. *xMMV of course. Or perhaps
when you ran it your cwd was some other directory.

C:\junk>dir glob*
[snip]
15/08/2006 04:28 AM 662 glob.py
15/08/2006 04:28 AM 592 glob.pyc
[snip]
C:\junk>python
Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)]
on win32
Type "help", "copyright" , "credits" or "license" for more information.
|>>import glob
*** Aarrgghh!! I'm being imported as glob
glob was imported from glob.pyc
glob.glob is <type 'module'>
glob.glob was imported from glob.pyc
(glob.glob is glob) is True
--- end of import
|>>>

Cheers,
John

Aug 14 '06 #8
In <0E5Eg.19638$yE 1.18048@trndny0 2>, Charles Russell wrote:
Another newby question: __name__ and __file__ appear to be
predefined variables. To look up their meaning in the manual, is there
some method less clumsy than grepping the whole collection of .html
source files? I can't find any comprehensive index.
Here's the index of the reference manual:

http://docs.python.org/ref/genindex.html

Ciao,
Marc 'BlackJack' Rintsch
Aug 15 '06 #9
Charles Russell wrote:
I haven't found the magic word to invoke a
.py script from the python prompt (like the command "source" in csh,
bash, tcl?)
Seems to be execfile()
Aug 15 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
13118
by: Atul Kshirsagar | last post by:
Hello, I am using Python 2.3.2 with a C++ extention DLL in muti-threaded environment. 1. For each new thread I create a separate sub-interpreter. 2. Each thread executes multiple python statements calling the class objects in my extention DLL. 3. Before each execution I import my extention module using;
7
3977
by: ‘5ÛHH575-UAZWKVVP-7H2H48V3 | last post by:
(see end of message for example code) When an instance has a dynamically assigned instance method, deepcopy throws a TypeError with the message "TypeError: instancemethod expected at least 2 arguments, got 0". Tested with Python 2.3.4 on OpenBSD and Python 2.4 on Win98; same results. Is this a bug in deepcopy, how I dynamically assign the instance method or something else? (See example code for how I did it.) If you're curious as...
5
7744
by: sophie_newbie | last post by:
OK this might seem like a retarded question, but what is the difference between a library and a module? If I do: import string am I importing a module or a library? And if i do string.replace() am I using a module or a function or a
5
22750
by: Randall Parker | last post by:
Using Python 2.4.2 on Windows 2000 in SPE. Getting: TypeError: 'str' object is not callable on this line: TmpErrMsg1 = "State machine %s " (StateMachineName) In Winpdb 1.0.6 the StateMachineName is of type str in the Namespace |
1
1706
by: Gary Wessle | last post by:
dear python users I am not sure why I am getting **************************************************************** Traceback (most recent call last): File "my.py", line 3, in ? urlparse('http://www.cwi.nl:80/%7Eguido/Python.html') TypeError: 'module' object is not callable ****************************************************************
2
6753
by: AWasilenko | last post by:
I'm trying to test a few different approaches to displaying pages via Cherrypy and I'm not having much luck. Here is my code so far: import sys, cherrypy, html class Root: @cherrypy.expose def index(self, pageid = None): selection = html.Page() return selection.input()
33
56513
by: christophertidy | last post by:
Hi I am new to Python and have recieved this error message when trying to instantiate an object from a class from another file within the same directory and wondered what I have done wrong. I have a Step.py class: class Step(object) def __init__(self, sName): "Initialise a new Step instance"
18
15783
by: Charlie of Bolton | last post by:
Hi, everybody, Did work hard on this one, as I`m a newbies... I did write the entire below script... This script is suppose to ping: a primary IP (only one), (entered manually w raw-input) and than secondaries IP ( less than 10), (entered manually w raw-input)
0
9827
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10862
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10607
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10262
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7798
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6986
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5662
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5838
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
3119
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.