में कई भागों में एक चर लंबाई स्ट्रिंग मैं एक डेटाबेस है इस डेटाबेस से खींचें एक ही लंबाई के होने जा रहे हैं)। मैं अंततः इस डेटाबेस में कई और प्रविष्टियां जोड़ूंगा, लेकिन इस समय मैं इसका परीक्षण कर रहा हूं और साथ ही शुरुआत कर रहा हूं।विभाजन अजगर
अभी, मैं स्ट्रिंग के इन ब्लॉकों आकर्षित करने और उन्हें प्रदर्शित करने के लिए निम्नलिखित अजगर कोड है:
cmd = input(Enter command:)
sql = "SELECT cmd,`desc` FROM table WHERE cmd = '"+ cmd +"'"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print("Command: "+ row[0] +":\n")
print("Description: "+ row[1][:40] +"\n")
if (len(row[1]) > 40):
print(row[1][40:85])
if (len(row[1]) > 85):
print(row[1][85:130])
if (len(row[1]) > 130):
print(row[1][130:165])
if (len(row[1]) > 165):
print(row[1][165:])
बंटवारे यहाँ उदाहरण के लिए, एक हद तक काम करता है:
कमान: करीब :
विवरण: यह आदेश आक्रमणकारी चार
कलाकार के लिए संदेश विंडो में
n पर 'बंद' लेकिन 0ton बना देगा। यदि स्क्रीन पर वर्तमान में कोई विंडो नहीं है, तो टी
वह स्क्रिप्ट निष्पादन समाप्त हो जाएगा।
जैसा कि आप आउटपुट के ऊपर के उदाहरण के साथ देख सकते हैं, विभाजन कुछ शब्दों को मध्य शब्द में काटने का कारण बनता है। इस तथ्य को देखते हुए कि तार कहने के बीच किसी भी लंबाई का हो सकता है ... 20 कुल पात्र और 190ish तक, और मैं स्ट्रिंग को कहने के टुकड़ों में विभाजित करना चाहता हूं ... अंतरिक्ष बाधाओं के कारण प्रत्येक 8 शब्द, मैं कैसे जाऊं ऐसा करने के बारे में?
मैन्युअल रूप से एसक्यूएल स्ट्रिंग का निर्माण करने के बजाय पैरामीटर प्रतिस्थापन का उपयोग करें, उदाहरण के लिए, 'कर्सर.एक्सक्यूट (' कमांड से चुनें * जहां cmd =? ', (Cmd,))। आपको 'कर्सर.फेटचॉल()' को कॉल करने की आवश्यकता नहीं है, आप इसे सीधे फिर से चालू कर सकते हैं: 'कर्सर में पंक्ति के लिए: ... ' – jfs