2024-06-28 19:36:33 发布
网友
我的代码中有两行,第一行是os.unlink,第二行是os.symlink。比如:
os.unlink
os.symlink
os.unlink(path) os.symlink(new_path)
顺序不应更改,问题是,有时它会取消文件链接(换句话说,它会删除其快捷方式),但第二行无法创建符号链接(对某些寻址问题执行)
我的问题是:是否有任何像我们在数据库中的那个一样的全事务或非事务工具,可以执行行或非行操作
严格地说,这是不可能的,除非您像TxF(https://en.wikipedia.org/wiki/Transactional_NTFS)一样使用事务文件系统,因为没有任何东西可以阻止您的机器在两个命令之间关闭电源
我在这里可以看到两种方式:
1)切换到数据库
2)在解除链接之前检查所有条件。是什么阻止您进行符号链接
你可以试试这个:
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(https://en.wikipedia.org/wiki/Transactional_NTFS)一样使用事务文件系统,因为没有任何东西可以阻止您的机器在两个命令之间关闭电源
我在这里可以看到两种方式:
1)切换到数据库
2)在解除链接之前检查所有条件。是什么阻止您进行符号链接
你可以试试这个:
也许可以检查可能发生的异常,只捕获相关的异常
相关问题 更多 >
编程相关推荐