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