假设我有一个包含多个SQL查询的文件,所有这些查询都以“;”分隔 . 如果将文件的内容放在一个字符串中并执行:

with open(query_file) as f:
    query = f.read()
    f.close()

queries = query.split(';')

我将得到一个列表,其中每个项目都是其中一个查询 . 这是我的最终目标 . 但是,如何在此处包含如果最后一项只是空格,下一行,制表符或空字符串以将其删除?可以通过.split()来完成吗?我想避免这样的事情:

>>> a = 'a;b;'
>>> a.split(';')
['a', 'b', '']

或者这(这是一个不好的例子,但你明白了):

>>> a = '''a;b;\n'''
>>> a.split(';')
['a', 'b', '\n']

谢谢!

EDIT: 我也对其他方法持开放态度,基本上将字符串分成所有单独的查询 .