我在MySQL中存储文件名和文件路径。使用LIKE表达式从数据库中检索它们需要转义所有允许的与MySQL特殊字符冲突的文件名字符。我很乐意简单地使用Python的string.replace()方法,但我想知道是否有一个更标准或内置的方法来使用SQLAlchemy清理文件路径,或者在MySQL中处理文件路径。我需要的解决方案是操作系统无关的和建立。它不需要在SA中实现。我会接受任何编码过程的作品;如果做不到这一点,我需要一个需要转义的所有字符的列表,并明智地选择一个转义字符。
LIKE
string.replace()
p5fdfcr11#
如果你要使用常规查询,SQLAlchemy会为你清理。也许你使用like子句的问题。Like需要对这样的符号进行加法转义:_%。因此,如果要引用类似表达式,则需要替换方法。
z9zf31ra2#
为什么需要转义文件路径?只要您不手动编写选择/插入查询,SQLAlchemy将在内部生成查询时处理转义。文件路径可以按原样插入数据库。
djmepvbi3#
据我所知,SQLAlchemy中没有你想要的东西,你自己去找basestring.replace()方法吧。
basestring.replace()
rpppsulh4#
您不需要做任何事情,SQLAlchemy将为您完成。
4条答案
按热度按时间p5fdfcr11#
如果你要使用常规查询,SQLAlchemy会为你清理。也许你使用like子句的问题。Like需要对这样的符号进行加法转义:_%。因此,如果要引用类似表达式,则需要替换方法。
z9zf31ra2#
为什么需要转义文件路径?只要您不手动编写选择/插入查询,SQLAlchemy将在内部生成查询时处理转义。
文件路径可以按原样插入数据库。
djmepvbi3#
据我所知,SQLAlchemy中没有你想要的东西,你自己去找
basestring.replace()
方法吧。rpppsulh4#
您不需要做任何事情,SQLAlchemy将为您完成。