Python 关闭SQLObject连接
打开SQLObject连接后,是否可以手动关闭该连接?我试图删除一个数据库文件,一旦它被使用,但它似乎是开放的连接到数据库文件阻止我这样做 例如:Python 关闭SQLObject连接,python,sqlobject,Python,Sqlobject,打开SQLObject连接后,是否可以手动关闭该连接?我试图删除一个数据库文件,一旦它被使用,但它似乎是开放的连接到数据库文件阻止我这样做 例如: from sqlobject import * import os # Create and open connection to a database file. sqlhub.processConnection = connectionForURI('sqlite:path_to_db') SomeObject.createTable() #
from sqlobject import *
import os
# Create and open connection to a database file.
sqlhub.processConnection = connectionForURI('sqlite:path_to_db')
SomeObject.createTable()
# ...
# Delete database when finished.
os.remove('path_to_db')
给出以下错误:
WindowsError: [Error 32] The process cannot access the file because
it is being used by another process: 'path_to_db'
似乎只需在数据库连接上调用
.close()
,就可以实现以下目的:
from sqlobject import *
import os
# Create and open connection to a database file.
sqlhub.processConnection = connectionForURI('sqlite:path_to_db')
#do something with connection
pass
#close connection
sqlhub.processConnection.close()
#delete database
os.remove(path_to_db)
我只能在
close
方法中找到一点,但可以公平地说,您可以像对待任何其他文件
对象一样对待它。不过,我对sqlobject
没有太多经验,在解释器中,您仍然可以在processConnection
赋值之后立即删除数据库,而不关闭它,谁知道呢。似乎只是在数据库连接上调用.close()
,似乎可以做到以下几点:
from sqlobject import *
import os
# Create and open connection to a database file.
sqlhub.processConnection = connectionForURI('sqlite:path_to_db')
#do something with connection
pass
#close connection
sqlhub.processConnection.close()
#delete database
os.remove(path_to_db)
我只能在
close
方法中找到一点,但可以公平地说,您可以像对待任何其他文件
对象一样对待它。不过,我对sqlobject
没有太多经验,在解释器中,您仍然可以在processConnection
赋值之后立即删除数据库,而不关闭它,所以谁知道呢。对于我来说,这似乎工作得很好,因此我现在可以处理库实现中的一些模糊性。非常感谢。@JimmidyJoo很乐意帮忙!就我的目的而言,这似乎工作得很好,因此我现在可以处理库实现中的一些模糊之处。非常感谢。@JimmidyJoo很乐意帮忙!