2011-01-14 24 views
5

Pythonドキュメント " 'モジュール' オブジェクトには属性 'lstrip' を持っていない":Pythonのエラーは、<a href="http://docs.python.org/library/string.html" rel="nofollow">http://docs.python.org/library/string.html</a>から

string.lstrip(s[, chars])

戻り取り除か先行文字と文字列のコピーを。 の文字がでない場合、またはNoneの場合は、空白文字が削除されます。与えられていてNoneでない場合、の文字は文字列でなければなりません。文字列内の文字は、このメソッドがコールされた文字列の先頭から取り除かれます。」

Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
Type "copyright", "credits" or "license()" for more information. 
>>> import string 
>>> x = 'Hi' 
>>> string.lstrip(x,1) 
Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    string.lstrip(x,1) 
AttributeError: 'module' object has no attribute 'lstrip' 
>>> 

私がここで行方不明ですか?

+0

TypeErrorには1がcharではないので、それを与える必要があります。 – Rozuur

答えて

7

ドキュメントは次の場所にあり、ここで見ていない:http://docs.python.org/py3k/index.html

string機能をpy3kで除去し、あなたがする必要はありました今str methods使用:

>>> x = 'Hi' 
>>> x.lstrip('H') 
'i' 

注意を、ドキュメントが言うように、chars文字列でなければならないこと。整数ではありません。

+0

と文字列モジュールはpython 2.5 – Ant

+0

@Ant:stringモジュールがうまくいきませんので廃止予定です。 – SilentGhost

+0

OK、ほとんど); – Ant

3

のPython 2.6以下の作品...

について
import string 
x = u'Hi' #needs to be unicode 
string.lstrip(x,'H') #second argument needs to be char 

は、Python 3.0のために以前のソリューションはstring.lstripが2.4で非推奨となり、3.0で削除されたため動作しません。

もう一つの方法は、実行することです。

"Hi".lstrip('H') #strip a specific char 

または

" Hi".lstrip() #white space needs no input param 

私はそれを一般的に広く使用だと思いますどの。

編集

Python 3.0でstring.lstripの廃止を追加するには - それを言及したこの回答のコメントに感謝を。

+0

あなたの2。6コードは無関係です、あなたは思いませんか? – SilentGhost

+1

また、 'string.lstrip'はPython 3で推奨されていないので、正しい方法ではありません – user225312

+0

Python 2.6について言及しているのですか?またはコードの最初のブロック? –

0

あなたは右のドキュメントのpython 3.1を使用している良いドキュメントがpy3kバージョンのhttp://docs.python.org/py3k/library/string.html

+0

なぜ私は私の答えはsuccintですが間違っていない知っています –

+0

私は、あなたが与えたURLは 'string'モジュールにつながり、' str'メソッドには読み込まれません。 –

0

これはPython 3.xで変更されました。

参照するメソッドは、文字列インスタンスの場合にのみ使用でき、モジュールstringでは使用できません。したがって、何かをインポートする必要はありません。

assert 'a ' == ' a '.lstrip() 
+0

** 2.x **で変更されたので、何もインポートする必要はありませんでした。 –

1

Python 2.7.1バージョンのドキュメントが見つかりました(画面の左上隅を見てください)。 string関数はPython 2.xでは非推奨となり、strunicodeのメソッドが使用され、Python 3.xでは完全に削除されました。 3.xドキュメントhereを参照してください。

関連する問題