19

Mac 10.6 で、アクティブなアプリケーションを非アクティブにしたり、Python で最小化したりしたい

Windows で Python を使用して sendKey を使用できることはわかっていますが、Mac ではどうでしょうか。

4

5 に答える 5

32

StackOverflowに関する別の質問から私が見つけたものは次のとおりです。それは私の問題にはかなりうまくいきます。

import os
cmd = """
osascript -e 'tell application "System Events" to keystroke "m" using {command down}' 
"""
# minimize active window
os.system(cmd)
于 2009-11-20T14:10:30.820 に答える
7

PyPI で利用可能な Apple イベント ブリッジであるappscriptを試してください。

from appscript import app, k
app('System Events').keystroke('N', using=k.command_down)
于 2011-12-22T18:28:45.667 に答える
6

現在アクティブなアプリケーションにキーストロークを送信する沂南に加えて、次のように特定のアプリケーションに送信できます。以前と同じように以下をosascriptに渡すか、ファイルに保存してファイルをosascriptに渡します

tell application "Safari"
    activate
    tell application "System Events" to keystroke "r" using {command down}
end tell

これにより、 Cmd + rが前面に表示された後、Safariに送信されます。

于 2010-11-17T03:35:03.010 に答える
0

たとえば、Python から OSA スクリプト (man osascript) を実行して、アプリケーションを駆動することはできますか?

于 2009-11-20T14:12:28.813 に答える
0

SendKeysfromを使用して Windows で既に動作するスクリプトをpipOS X でも動作させるために、ファイルを作成しました/Library/Python/2.7/site-packages/SendKeys/__init__.py( Mac にインストールするすべてのものを配置するsite-packages場所pipです...それが構成可能かどうかはわかりません)。

ファイルの内容は次のとおりです。

def SendKeys(keys):
    if keys == '{ENTER}'
        keys = 'return'
    from os import system
    system('osascript -e \'tell application "System Events" to keystroke ' + keys + "'")

明らかにあまり堅牢ではないので、 には入れませんがpypi、OS X と Windows の両方でスクリプトを実行するには十分です。

于 2015-03-14T01:43:11.970 に答える