का उपयोग कर विशेष वर्णों से बचने के लिए मैं mySQL में फ़ाइल नाम और फ़ाइलपाथ संग्रहीत कर रहा हूं। LIKE अभिव्यक्ति का उपयोग करके डेटाबेस से उन्हें पुनर्प्राप्त करने के लिए आवश्यक है कि मैं mysql विशेष वर्णों के साथ टकराए गए सभी अनुमत फ़ाइल नामों से बचें। मुझे आसानी से पाइथन की स्ट्रिंग.रेप्लेस() विधि का उपयोग करने में प्रसन्नता हो रही है, लेकिन यह सोच रहा था कि क्या SQLalchemy के साथ फ़ाइलपैथ को स्वच्छ करने या सामान्य रूप से mySQL में फ़ाइलपैथ से निपटने की अधिक मानक या अंतर्निहित विधि थी।sqlalchemy
संपादित करें: थोड़ा और जानकारी। मुझे ओएस-अज्ञेयवादी और स्थापित होने के समाधान की आवश्यकता है। इसे एसए में लागू करने की आवश्यकता नहीं है। मैं काम करता है एन्कोडिंग के लिए किसी भी प्रक्रिया को स्वीकार करेंगे। इसे सहेजते हुए, मुझे उन सभी वर्णों की एक सूची की आवश्यकता है जिन्हें बचने की आवश्यकता है और बचने वाले चार की स्मार्ट पसंद है।
मैं फ़ाइलपैथ का चयन करने के लिए '.like()' SA विधि का उपयोग कर रहा हूं। जो (जैसा कि मैं समझता हूं) वाइल्डकार्ड के रूप में '%' और '_' (क्या अन्य हैं?) का उपयोग करता है। दोनों वैध filname chrs भी हैं। एसए निश्चित रूप से अजीब होगा अगर एसए मेरे दिमाग को पढ़ सके और जान सके कि जब मैं एक फाइलनाम में एक शाब्दिक चार बनाम एक खोज वाइल्डकार्ड बनाम '_' का उपयोग कर रहा था और मेरे लिए" ख्याल रखना "! :) – Paul
@Toofan: पॉल सही है: SQLAlchemy '.like()' और वाणिज्य ('.contains()', '.startswith()' आदि ...) के लिए ऐसा नहीं करेगा। यह इन विधियों के लिए 'एस्केप' तर्क प्रदान करता है, लेकिन आपको स्वयं स्ट्रिंग से बचना होगा, और प्रयुक्त बचने का पात्र प्रदान करना होगा। – Steven