如何在没有数据库的情况下使用python事务?
我的代码中有两行,第一行是如何在没有数据库的情况下使用python事务?,python,Python,我的代码中有两行,第一行是os.unlink,第二行是os.symlink。比如: os.unlink(path) os.symlink(new_path) 顺序不应更改,问题是,有时它会取消文件链接(换句话说,它会删除其快捷方式),但第二行无法创建符号链接(对某些寻址问题执行) 我的问题是:有没有像我们在数据库中使用的那样的全事务或非事务工具,既可以执行行操作,也可以执行非行操作?您可以尝试以下方法: import os linkname = '/tmp/test.lnk' orig_ta
os.unlink
,第二行是os.symlink
。比如:
os.unlink(path)
os.symlink(new_path)
顺序不应更改,问题是,有时它会取消文件链接(换句话说,它会删除其快捷方式),但第二行无法创建符号链接(对某些寻址问题执行)
我的问题是:有没有像我们在数据库中使用的那样的全事务或非事务工具,既可以执行行操作,也可以执行非行操作?您可以尝试以下方法:
import os
linkname = '/tmp/test.lnk'
orig_target = os.path.realpath(linkname)
os.unlink(linkname)
try:
os.symlink(new_target, linkname)
except:
os.symlink(orig_target, linkname)
也许可以检查可能发生的异常,只捕获相关的异常。严格地说,除非您使用像TxF()这样的事务文件系统,否则这是不可能的,因为没有任何东西可以阻止您的机器在两个命令之间断电 我在这里可以看到两种方式: 1) 切换到数据库
2) 在断开链接之前检查所有条件。是什么阻止您进行符号链接?问题在于,由于某些寻址问题,它不会创建异常部分。除非地址存在,否则它不会创建符号链接。因此,首先检查新目标是否存在就足够了?