Python os x 中字符串模块错误

1 投票
2 回答
1417 浏览
提问于 2025-04-17 03:46

我正在自学Python,参考的是Elkner的《如何思考……》,现在已经到了第七章,讲的是字符串。我尝试通过输入import string来加载字符串模块,似乎是成功了,但我得到了这个:

>>> 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 个回答

0

试试这个来获取帮助:

import string

help(string)

在Python中,你不需要导入字符串模块,可以直接使用内置的函数。

"str".function()

而对于你的目标,你可以使用:

"str".expandtabs(n)

8是默认的数字。

4

你把某个文件命名为 "string.py",这会和真正的 string 模块冲突。你需要把这个文件重命名或者删除掉。

撰写回答