我正在 Python 中使用 SQLAlchemy 核心,并且我已多次阅读文档,但仍然需要有关engine.execute()vs的澄清connection.execute()。
据我了解,engine.execute()与doing相同connection.execute(),后面跟着connection.close()。
我遵循的教程让我可以在我的代码中使用它:
脚本中的初始设置
try:
engine = db.create_engine("postgres://user:pass@ip/dbname", connect_args={'connect_timeout': 5})
connection = engine.connect()
metadata = db.MetaData()
except exc.OperationalError:
print_error(f":: Could not connect to {db_ip}!")
sys.exit()
Run Code Online (Sandbox Code Playgroud)
然后,我有处理数据库访问的函数,例如:
def add_user(a_username):
query = db.insert(table_users).values(username=a_username)
connection.execute(query)
Run Code Online (Sandbox Code Playgroud)
我应该connection.close()在脚本结束之前打电话吗?或者它本身处理得足够有效吗?我最好在 结束时关闭连接add_user(),还是效率低下?
如果我确实需要connection.close()在脚本结束之前调用,这是否意味着中断脚本会导致我的 Postgres DB 上的连接挂起?
我很困惑 - 我一直在谷歌搜索一个小时,并尝试了十种不同的形式,set posixDirectory to POSIX path of (parent of (path to aFile) as string)但我似乎无法做到正确.
我正在通过这样做获得完整的POSIX路径(包括文件名)
set posixFilePath to POSIX path of aFile
现在,我如何获得目录的POSIX路径?我得到各种错误取决于我做什么...不能制作别名..不能得到别名的父...
我认为这应该有用,但不是......
set posixDirectory to POSIX path of ((parent of aFile))