मैंने सभी प्रकार के पायथन मॉड्यूल की कोशिश की है और वे या तो बहुत ज्यादा या गलत तरीके से बचते हैं। सबसे अच्छा तरीका क्या आप अजगर में कोट (", ') से बचने के लिए मिल गया है है?डेटाबेस क्वेरी स्ट्रिंग में उद्धरण से बचने का एक अच्छा तरीका है?
उत्तर
यदि यह एक डाटाबेस क्वेरी का हिस्सा आप एक Parameterized SQL Statement।
उपयोग करने में सक्षम होना चाहिए आपके उद्धरण से बचने के रूप में के रूप में अच्छी तरह से , यह सब विशेष वर्ण के साथ सौदा होगा और SQL injection attacks से आप की रक्षा करेगा।
+1: यदि आप डेटाबेस क्वेरी में उद्धरण से बच रहे हैं, तो आप SQL गलत कर रहे हैं। –
+1> मैं एक ही चीज़ पोस्ट करने वाला था :-) –
बढ़िया, अब मुझे सिर्फ पायथन 3.0 की एक प्रति चाहिए। –
एक अधिक सामान्य समस्या का समाधान के लिए, मैं एक कार्यक्रम है, जहां मैं एक फ्लैट फ़ाइल में वर्णों के किसी सेट का संग्रह करने के लिए आवश्यक है, टैब सीमांकित जाहिर है, 'सेट' में टैब होने से समस्याएं पैदा हो रही हैं।
output_f.write (str) के बजाय, मैंने output_f.write (repr (str)) का उपयोग किया, जिसने मेरी समस्या हल की। यह पढ़ने के लिए धीमा है, क्योंकि जब मैं इसे पढ़ता हूं तो इनपुट को eval() को इनपुट करने की आवश्यकता होती है, लेकिन कुल मिलाकर, यह कोड क्लीनर बनाता है क्योंकि मुझे अब फ्रिंज मामलों की जांच करने की आवश्यकता नहीं है।
repr/eval एक बुरा विचार है। आप इसके बजाय 'csv' मॉड्यूल का उपयोग कर सकते हैं। यह आपके लिए क्षेत्र में एम्बेड टैब का ख्याल रखेगा – jfs
आप psycopg2 बचने तार के लिए एक विधि का उपयोग कर रहे हैं: psycopg2.extensions.adapt()
पूरा जवाब के लिए देखें How to quote a string value explicitly (Python DB API/Psycopg2)
ट्रिपल डबल कोट्स बचने के लिए सबसे अच्छा कर रहे हैं:
string = """This will span across 'single quotes', "double quotes", and literal EOLs all in the same string."""
यह इस मामले में काम नहीं करेगा: 'string =" "" यह एक स्ट्रिंग है "जिसमें एक उद्धरण है" "" – dolma33
आसान और तारों से बचने के लिए मानक तरीका, और अन्य वस्तुओं को प्रोग्रामेटिक रूप में परिवर्तित करना, repr() फ़ंक्शन में निर्माण का उपयोग करना है। यह किसी ऑब्जेक्ट को उस प्रतिनिधित्व में परिवर्तित करता है जिसे आपको मैन्युअल कोड के साथ दर्ज करने की आवश्यकता होगी।
उदा .:
s = "I'm happy I am \"here\" now"
print repr(s)
>> 'I\'m happy I am "here" now'
कोई अजीब हैक्स, उस में बनाया गया है और यह सिर्फ सबसे प्रयोजनों के लिए काम करता है।
यह शायद ओपी नहीं है चाहता हे। repr उद्धरण से बच निकलता है लेकिन यह सिंगल कोट्स में स्ट्रिंग को भी लपेटता है। उदाहरण के लिए: repr ("किंग्स कैसल") राजा के कैसल बन जाता है "(रैपिंग उद्धरण नोटिस)। –
json.dumps
का उपयोग करें। पुराने थ्रेड के लिए
>>> import json
>>> print json.dumps('a"bc')
"a\"bc"
यह विफल रहता है जब स्ट्रिंग में यूनिकोड वर्ण शामिल होते हैं: 'प्रिंट json.dumps (u "£")' प्रिंट '' \ u00a3 "' –
उत्तर है, लेकिन सबसे अच्छा तरीका अभी भी यहाँ याद आ रही ..
psycopg2 का उपयोग कर रहे हैं, तो यह अमल -method बचने buildin गया है।
cursor.execute("SELECT column FROM table WHERE column=%s AND column2=%s", (value1, value2))
ध्यान दें, कि आप विधि (स्ट्रिंग और टपल) निष्पादित करने के लिए दो तर्क, बजाय पायथन के% ऑपरेटर का उपयोग स्ट्रिंग को संशोधित करने की दे रहे हैं।
उत्तर यहाँ से चोरी: psycopg2 equivalent of mysqldb.escape_string?
ट्रिपल एकल उद्धरण आसानी से अक्सर एसक्यूएल प्रश्नों में प्रयोग किया जाता एकल उद्धरण संपुटित देगा:
c.execute('''SELECT sval FROM sdat WHERE instime > NOW() - INTERVAL '1 days' ORDER BY instime ASC''')
- 1. "साझाकरण" से बचने का एक अच्छा तरीका है?
- 2. एक स्ट्रिंग (PowerShell) में HTML- विशिष्ट वर्णों से बचने का सबसे अच्छा तरीका क्या है?
- 3. postgres एकल उद्धरण से बचने dblink
- 4. स्ट्रिंग से बचने का क्या अर्थ है?
- 5. mysql डेटाबेस में डुप्लिकेट प्रविष्टि से बचने का सबसे अच्छा तरीका
- 6. MySQL में नियमित अभिव्यक्तियों के लिए उपयोगकर्ता इनपुट से बचने का सबसे अच्छा तरीका क्या है?
- 7. HTTP क्वेरी स्ट्रिंग में कौन से वर्ण बचने चाहिए?
- 8. जावास्क्रिप्ट में स्ट्रिंग्स से बचने
- 9. सबसे अच्छा तरीका डेटाबेस
- 10. कोशिश करने से बचने का सबसे अच्छा तरीका क्या है ... अंत में ... मेरे यूनिट परीक्षणों में?
- 11. यूनियन से बचने के लिए एसक्यूएल क्वेरी में सुधार करने का एक और तरीका?
- 12. क्या ओरेकल में एक से अधिक बार प्रक्रिया को निष्पादित करने से बचने का सबसे अच्छा तरीका है?
- 13. स्ट्रिंग से बचने वाले पात्रों पर प्रतिस्थापित
- 14. MySQL info_schema डेटाबेस से संबंधित तालिकाओं को खोजने का एक अच्छा तरीका पूछ रहा है?
- 15. एसक्यूएल क्वेरी से बचने + कोडिनेटर
- 16. हाइबरनेट मानदंडों का उपयोग करना, क्या विशेष पात्रों से बचने का कोई तरीका है?
- 17. दोहरे उद्धरण स्ट्रिंग सी #
- 18. सर्वर-साइड डेटाबेस से आईफोन में एक-तरफा सिंकिंग करने का सबसे अच्छा तरीका क्या है?
- 19. स्ट्रिंग से टाइमज़ोन ऑब्जेक्ट निकालने का सबसे अच्छा तरीका?
- 20. क्या सी मैक्रो में उद्धरण हटाने का कोई तरीका है?
- 21. अंक stringByReplacingOccurrencesOfString साथ आईओएस में एकल उद्धरण से बचने: widthString
- 22. जावास्क्रिप्ट मूल्यांकन के लिए जावास्क्रिप्ट स्ट्रिंग में एकल उद्धरण से बचने
- 23. क्लासिक एएसपी में एक लंबी डीबी क्वेरी चलाने का सबसे अच्छा तरीका?
- 24. पीएचपी: सबसे अच्छा तरीका एक स्ट्रिंग
- 25. पीडीओ कथन में कॉलम नामों से बचने
- 26. कैसे उद्धरण से बचने के लिए जब पीएचपी
- 27. कोको टच में एक स्ट्रिंग से व्हाइटस्पेस को ट्रिम करने का सबसे अच्छा तरीका क्या है?
- 28. मल्टी-लाइन स्ट्रिंग में लाइनों के माध्यम से लूपिंग का एक अच्छा तरीका क्या है?
- 29. एक mysql डेटाबेस को denormalize करने का एक अच्छा तरीका क्या है?
- 30. मेमोरी बर्बाद करने से बचने का एक तरीका
किस संदर्भ में आप से बचने चाहते हैं? पायथन तारों के लिए, या डेटाबेस में? – workmad3
यह पोस्टग्रेज़ डेटाबेस क्वेरी का हिस्सा है। –