python测试运行快捷键_python可以检测快捷方式文件(.lnk)是否不再起作用吗?...

当您试图打开一个不再工作的快捷方式文件(.lnk)时,windows会提示您:“此快捷方式已被更改或移动,因此此快捷方式将不再正常工作。”是否有python代码可用于检测此快捷方式是否不再工作?

当我运行以下代码来检索不再工作的快捷方式的目标路径时,不会出现任何类型的错误。代码仍然会打印到不再存在的目标文件的路径:import win32com.client

shell = win32com.client.Dispatch('WScript.Shell')

shortcut = shell.CreateShortcut(shortcutpath_cur)

target = shortcut_cur.Targetpath

print(target)

有时,即使快捷方式指向的文档仍然存在,它也不再工作。在这种情况下,我不能使用os.path.exists()或os.path.isfile(),因为它们会返回True。

最佳答案:

可以通过尝试检查文件路径是否有现有文件来执行此操作。这里有一个解决方案,包含许多方法:

How do I check whether a file exists without exceptions?

如果检查文件是否存在于快捷方式指定的路径中,则可以检测快捷方式本身是否可以工作,并为其执行自己的过程。

下面是上面链接中的一段引述,您可以使用它来执行以下操作:

“如果不打算立即打开文件,可以使用os.path.isfile

如果路径是现有的常规文件,则返回true。这遵循符号链接,因此对于同一路径,isLink()和isFile()都可以为true。import os.path

os.path.isfile(fname)

如果你需要确定它是一个文件。”

如果由于某种原因文件存在但快捷方式不起作用,则此操作将不起作用。然后,您可以使用try:打开文件,并使用except:打开可能出现的所有错误。有时,由于权限不足或target不再有效,快捷方式将无法工作。

如果文件存在但无法通过快捷方式打开,则是快捷方式文件本身、目标文件、操作系统错误/故障或权限不足的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值