Ошибка со строковым модулем Python OS X - PullRequest
1 голос
/ 06 октября 2011

Я - самоучка Python из Elkner's How To Think ... и дошла до 7-й строки. Я попытался загрузить строковый модуль, введя строку импорта, и это, похоже, сработало, однако вот что я получаю:

>>> import string
>>> dir (string)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'string']

и, как ни странно, моя справочная функция, кажется, умерла по некоторой связанной причине:

>>> help()
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'string']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 458, in __call__
import pydoc
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pydoc.py", line 57, in <module>
from string import expandtabs, find, join, lower, split, strip, rfind, rstrip
ImportError: cannot import name expandtabs

Что я сделал не так? Как я могу это исправить? Работает Mac OS X 10.7.1.

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Вы назвали что-то "string.py", которое скрывает фактический string модуль. Переименуйте или удалите его.

0 голосов
/ 16 января 2015

попробуйте для справки:

import string

help(string)

в python вам не нужно импортировать строковый модуль, вы можете напрямую использовать встроенные функции.используйте:

"str".expandtabs(n)

8 - номер по умолчанию.

...