绑定并执行python脚本

绑定并执行python脚本,python,Python,如何将python脚本绑定到文件,并在打开文件时在后台运行 假设我想将一个文件绑定到一张照片,然后关闭或打开照片。脚本在Windows中运行(例如),您可以将文件类型(不是一个特定文件,而是具有特定扩展名的所有文件)与python脚本相关联,然后启动照片查看器(使用文件名作为参数,以便应用程序打开此文件)在python脚本中。这样,在打开文件类型时,脚本和“main”应用程序都将运行 顺便说一句:在你的脚本中,你可以测试某些模式或子字符串的文件名,对这种文件类型的不同文件执行不同的操作 此解决方

如何将python脚本绑定到文件,并在打开文件时在后台运行

假设我想将一个文件绑定到一张照片,然后关闭或打开照片。脚本在Windows中运行(例如),您可以将文件类型(不是一个特定文件,而是具有特定扩展名的所有文件)与python脚本相关联,然后启动照片查看器(使用文件名作为参数,以便应用程序打开此文件)在python脚本中。这样,在打开文件类型时,脚本和“main”应用程序都将运行

顺便说一句:在你的脚本中,你可以测试某些模式或子字符串的文件名,对这种文件类型的不同文件执行不同的操作

此解决方案可能不像您希望的那样顺利,但它可能可以作为一种“变通方法”。

检查问题(而不是答案),然后回答,
如果你不想读那么多书(尽管你应该读)

您可能需要使用:

  • Windows上的os.startfile()
  • 子进程调用(['open',…])
    在Mac上
  • subprocess.call(['xdg-open',…])
    on*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'

这不是python本身可以做到的。这取决于您使用的操作系统。您应该编辑您的问题以提供这些信息。即使这样,我也不会抱太大希望。据我所知,这仅在OS X中是可能的。而且,这确实是一个超级用户问题。