2011-01-14 42 views
5

अजगर प्रलेखन " 'मॉड्यूल' ऑब्जेक्ट कोई विशेषता 'lstrip' है":अजगर त्रुटि, <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

py3k संस्करण के लिए प्रलेखन यहाँ स्थित है मत देखो: http://docs.python.org/py3k/index.html

string कार्यों py3k में हटा दिया गया है और आप के लिए है अब str methods का उपयोग करें:

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

ध्यान दें, के रूप में प्रलेखन कहते हैं, chars कोई स्ट्रिंग होना चाहिए कि। एक पूर्णांक नहीं है।

+0

और स्ट्रिंग मॉड्यूल को हटा दिया गया है क्योंकि पाइथन 2.5 – Ant

+0

@ एएनटी: स्ट्रिंग मॉड्यूल ठीक है, यह केवल कुछ फ़ंक्शन को हटा दिया गया है। – SilentGhost

+0

ठीक है, इसमें से अधिकांश;) – Ant

3

अजगर 2.6 निम्न काम करता है ...

के लिए
import string 
x = u'Hi' #needs to be unicode 
string.lstrip(x,'H') #second argument needs to be char 

अजगर 3.0 के लिए पिछले समाधान काम नहीं करेगा क्योंकि string.lstrip 2.4 में पदावनत और 3.0 में हटा दिया गया था।

एक और तरीका है करने के लिए है:

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

या

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

कौन सा मुझे लगता है कि आम व्यापक रूप से इसके बारे में इस्तेमाल करते हैं।

संपादित

अजगर 3.0 में string.lstrip की निंदा को जोड़ने के लिए - इस सवाल का जवाब है कि यह उल्लेख किया है पर टिप्पणी के लिए धन्यवाद।

+0

आपका 2।6 कोड अप्रासंगिक है, आपको नहीं लगता? – SilentGhost

+1

इसके अलावा, 'string.lstrip' इसे करने का सही तरीका नहीं है, क्योंकि इसे पायथन 3 – user225312

+0

में बहिष्कृत किया गया है क्या आपका मतलब है कि मैं Python 2.6 का उल्लेख करता हूं? या कोड का पहला ब्लॉक? –

0

आप अच्छा डॉक में आप अजगर 3.1 का उपयोग कर रहे सही दस्तावेज़ यहाँ है http://docs.python.org/py3k/library/string.html

+0

क्यों -1 मुझे पता है कि मेरा जवाब सफल है लेकिन गलत नहीं है –

+0

मुझे नहीं, लेकिन शायद इसलिए कि आपके द्वारा दिया गया यूआरएल 'स्ट्रिंग' मॉड्यूल की ओर जाता है, न कि 'स्ट्र' विधियों के बारे में जिन्हें उन्हें पढ़ने की जरूरत है। –

0

यह पायथन 3.x के लिए बदला गया था।

जिस विधि का आप उल्लेख कर रहे हैं वह स्ट्रिंग उदाहरणों के लिए उपलब्ध है, न कि मॉड्यूल string। तो अगर आप कुछ भी आयात करने की आवश्यकता नहीं है:

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

यह ** 2.x ** में बदला गया था ताकि आपको कुछ भी आयात करने की आवश्यकता न हो। –

1

आप किए गए दस्तावेज़ों की पायथन 2.7.1 संस्करण (स्क्रीन के ऊपरी बाएं कोने में देखो) मिल गया है। string फ़ंक्शन को Python 2.x में str और unicode विधियों के पक्ष में बहिष्कृत किया गया था, और पूरी तरह से पायथन 3.x में हटा दिया गया था। 3.x डॉक्स here देखें।

संबंधित मुद्दे