如何将 python 脚本绑定到文件,并在打开文件时在后台运行?
假设我想将文件绑定到照片然后关闭照片或打开脚本运行
在 Windows 中(例如),您可以将文件类型(不是一个特定文件,而是具有特定扩展名的所有文件)与 python 脚本相关联,然后启动照片查看器(使用文件名作为参数,以便应用程序打开此文件)来自 python 脚本。这样,您的脚本和“主”应用程序都将在打开文件类型时运行。
顺便说一句:在您的脚本中,您可以测试某些模式或子字符串的文件名,以对该文件类型的不同文件执行不同的操作...
此解决方案可能不像您希望的那样顺利,但它可能可以作为“解决方法”。
检查这个问题(而不是它的答案)和这个答案,
如果你不想做这么多的阅读(尽管你应该),
您可能需要使用:
os.startfile()
在 Windows 上subprocess.call(['open',..])
在 Mac 上subprocess.call(['xdg-open', ...])
在 *nix 上这会是这样的:
import platform, os, subprocess
#....
def nix_open(filename):
pass # I don't know this one, you can research
def win_open(filename):
return os.startfile(filename)
def mac_open(filename):
return subprocess.call(['open',filename])
def handle_open(filename):
s_name = platform.system()
if s_name in ('Linux','Unix'):
return nix_open(filename)
elif s_name == 'Windows':
return win_open(filename)
elif s_name == 'Darwin':
return mac_open(filename)
# ...
else:
raise EnvironmentError, 'OS not supported'