AttributeError: the 'module' object does not have the 'maketrans' attribute when running cProfile

Using python 2.7 I get this error:

    Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/lib/python2.7/cProfile.py", line 199, in <module>
    main()
  File "/usr/lib/python2.7/cProfile.py", line 165, in main
    from optparse import OptionParser
  File "/usr/lib/python2.7/optparse.py", line 77, in <module>
    import textwrap
  File "/usr/lib/python2.7/textwrap.py", line 32, in <module>
    class TextWrapper:
  File "/usr/lib/python2.7/textwrap.py", line 74, in TextWrapper
    whitespace_trans = string.maketrans(_whitespace, ' ' * len(_whitespace))
AttributeError: 'module' object has no attribute 'maketrans'

when running this simple code:

def blah():
    orig = ""
    for i in range(1000000):
        orig += "zim";
blah()

using this call:

$ python -m cProfile string.py

I am using Ubuntu Natty Narwhal and installing the python-profiler package (I do not know if this is necessary).

+5
source share
1 answer

As the Python module guide explains :

, , sys.path, , script ( ), PYTHONPATH . Python , . , , script, , , script , , Python script , .

textwrap import string. script string.py (, , stdlib), , . , . maketrans. , .

( , script .)

+7

All Articles