f



AttributeError: 'module' object has no attribute 'letters'

what does this error mean?
i am trying to use mark hammonds win32 package.

Traceback (most recent call last):
  File "aui2.py", line 11, in <module>
    import win32com.client
  File "C:\Python25\lib\site-packages\win32com\client\__init__.py",
line 12, in <module>
    import dynamic, gencache, pythoncom
  File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py",
line 24, in <module>
    import build
  File "C:\Python25\lib\site-packages\win32com\client\build.py", line
507, in <module>
    valid_identifier_chars = string.letters + string.digits + "_"
AttributeError: 'module' object has no attribute 'letters'

thanks
black_13
0
jjosburn1 (7)
2/11/2008 10:24:46 PM
comp.lang.python 77058 articles. 6 followers. Post Follow

4 Replies
1804 Views

Similar Articles

[PageSpeed] 10

black_13 <jjosburn@gmail.com> writes:

> what does this error mean?
> [...]
>     valid_identifier_chars = string.letters + string.digits + "_"
> AttributeError: 'module' object has no attribute 'letters'

It means that you're trying to access the attribute 'letters' on a
module that doesn't have that attribute.

You need to find what the value of 'string' is at that point in the
code. If I had to guess, I would say the person who wrote the above
line was expecting 'string' to be bound to the Python standard library
module 'string'; but that the code you have binds that name to some
other module.

-- 
 \          "War is God's way of teaching geography to Americans."  -- |
  `\                                                   Ambrose Bierce  |
_o__)                                                                  |
Ben Finney
0
hates-spam (1449)
2/11/2008 10:45:01 PM
On Feb 12, 9:24 am, black_13 <jjosb...@gmail.com> wrote:
> what does this error mean?
> i am trying to use mark hammonds win32 package.
>
> Traceback (most recent call last):
>   File "aui2.py", line 11, in <module>
>     import win32com.client
>   File "C:\Python25\lib\site-packages\win32com\client\__init__.py",
> line 12, in <module>
>     import dynamic, gencache, pythoncom
>   File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py",
> line 24, in <module>
>     import build
>   File "C:\Python25\lib\site-packages\win32com\client\build.py", line
> 507, in <module>
>     valid_identifier_chars = string.letters + string.digits + "_"
> AttributeError: 'module' object has no attribute 'letters'
>
>

If you have a file called string.py in the same directory as your
script, move/rename/delete it.
Otherwise run python from the command line with the -v option and find
where it's getting the interloper string module from.

0
sjmachin (3097)
2/11/2008 11:33:25 PM
En Mon, 11 Feb 2008 21:33:25 -0200, John Machin <sjmachin@lexicon.net>  
escribi�:

> Otherwise run python from the command line with the -v option and find
> where it's getting the interloper string module from.

interloper: my new word of the day. Thanks!

PS: Another way would be to run the script with python -i, and when it  
halts, execute:

import string
print string.__file__

-- 
Gabriel Genellina

0
gagsl-py2 (3707)
2/12/2008 12:39:19 AM
On Feb 11, 5:33=A0pm, John Machin <sjmac...@lexicon.net> wrote:
> On Feb 12, 9:24 am,black_13<jjosb...@gmail.com> wrote:
>
>
>
>
>
> > what does this error mean?
> > i am trying to use mark hammonds win32 package.
>
> > Traceback (most recent call last):
> > =A0 File "aui2.py", line 11, in <module>
> > =A0 =A0 import win32com.client
> > =A0 File "C:\Python25\lib\site-packages\win32com\client\__init__.py",
> > line 12, in <module>
> > =A0 =A0 import dynamic, gencache, pythoncom
> > =A0 File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py",
> > line 24, in <module>
> > =A0 =A0 import build
> > =A0 File "C:\Python25\lib\site-packages\win32com\client\build.py", line
> > 507, in <module>
> > =A0 =A0 valid_identifier_chars =3D string.letters + string.digits + "_"
> > AttributeError: 'module' object has no attribute 'letters'
>
> If you have a file called string.py in the same directory as your
> script, move/rename/delete it.
> Otherwise run python from the command line with the -v option and find
> where it's getting the interloper string module from.- Hide quoted text -
>
> - Show quoted text -

You were correct! I went back to my work machine and there it was. For
some
insane reason I had a py file string.py in the same directory as the
script
I was working on.
thanks
black_13
0
jjosburn1 (7)
2/12/2008 3:51:32 PM
Reply: