I am trying to embed an AppleScript in a Python script. I don't want to have to save the AppleScript as a file and then load it in my Python script. Is there a way to enter the AppleScript as a string in Python and have Python execute the AppleScript? Thanks a bunch.
Here is my script:
import subprocess
import re
import os
def get_window_title():
cmd = """osascript<
tell application "System Events"
set frontApp to name of first application process whose frontmost is true
end tell
tell application frontApp
if the (count of windows) is not 0 then
set window_name to name of front window
end if
end tell
return window_name
END"""
p = subprocess.Popen(cmd, shell=True)
p.terminate()
return p
def get_class_name(input_str):
re_expression = re.compile(r"(\w+)\.java")
full_match = re_expression.search(input_str)
class_name = full_match.group(1)
return class_name
print get_window_title()
解决方案from subprocess import Popen, PIPE
scpt = '''
on run {x, y}
return x + y
end run'''
args = ['2', '2']
p = Popen(['osascript', '-'] + args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate(scpt)
print (p.returncode, stdout, stderr)
I am trying to embed an AppleScript in a Python script. I don't want to have to save the AppleScript as a file and then load it in my Python script. Is there a way to enter the AppleScript as a string...
Python
打开 MAC, LINUX, WINDOWS Terminal
os.system() 是
python
自带的并适用于各平台的一个函数,其主要作用就是执行终端命令。这里介绍了一下如何通过这个函数打开各个平台的终端,网上大多是关于如何执行终端命令,对终端的打开提及较少,这里做一个简单的总结。(有人可能会想为什么需要通过代码打开终端这种多此一举的行为,而不是直接打开,嘛,有些人的需求比较特殊。)
Windows:
打开一个终端:
os.system('start cmd')
打开终端的同时执行指
使用
Python
可以通过
调用
Mac OS X系统提供的
AppleScript
应用程序,来启动和关闭Mac系统上的程序。下面是一个简单的
脚本
示例,可以帮助您实现这一目的:import subprocess
启动应用程序
subprocess.call(['osascript','-e','tell application "AppName" to launch'])
关闭应用程序
subproces...
在Mac下,appscript是一个与应用程序通信交互的强大工具。用
Python
的appscript模块,可以在不用学习appscript的情况下也能做到与很多应用程序交互的功能。
打开Mac的终端,安装很简单:
sudo easy_install appscript
然后运行i
python
,先来试一个简单有趣的例子:
Python
代码
### 回答1:
AppleScript
是一种编程语言,专门用于Mac OS X和其他
苹果
计算机系统。使用
AppleScript
脚本
,您可以编写
脚本
和程序来控制您的计算机并执行各种任务。
iMessage是
苹果
公司的一款即时通讯应用程序,专门用于iOS和Mac OS X。使用iMessage,您可以发送文本消息,照片,视频等等。
您可以使用
AppleScript
编写iMessage
脚本
来自动化iMessage消息的发送和接收,这样就可以方便地向大量人发送消息而不必一个个地输入他们的电话号码或电子邮件地址。
要使用
AppleScript
进行iMessage群发,请遵循以下步骤:
1.打开
AppleScript
脚本
编辑器。您可以在Launchpad
中
找到它。
2.编写iMessage群发的
脚本
代码。您可以使用iMessage的
AppleScript
命令来发送消息和打开iMessage应用程序,使其更容易与iMessage集成。
3.将要发送消息的电话号码或电子邮件地址放入
脚本
中
。
4.运行
脚本
并等待消息发送完成。
请注意,
AppleScript
脚本
的编写需要一定的技能,因此如果您不熟悉这个过程,请先学习一些相关的基础知识。
最后,应该注意的是,在使用iMessage进行群发时,您需要确保已经得到所有人的许可,并且没有侵犯他们的隐私权。
### 回答2:
AppleScript
是一种
脚本
语言,旨在帮助用户自动化和简化常见任务。如果您正在使用Mac电脑,可能已经熟悉发短信或iMessage应用程序。不过,手动发送同样消息给多个人可能会非常耗费时间和精力。这时,
AppleScript
就可以提供你帮助了。
iMessage是一款针对Apple设备的即时消息应用程序,它允许用户通过Wi-Fi或移动数据网络发送多媒体消息,包括照片、视频、录音等等。如果您想向多个联系人发送相同的消息,您可以使用
AppleScript
脚本
来实现。
以下是如何使用
AppleScript
编写iMessage群发
脚本
的步骤:
步骤一:准备联系人
首先,您需要准备好要发送消息的联系人列表。您可以打开联系人应用程序并创建一个名为“iMessage Recipients”的组。将联系人添加到此组
中
。您还需要确保联系人的手机号码已在您的联系人列表
中
完成。
步骤二:打开
AppleScript
编辑器
打开“应用程序”文件夹
中
的“实用工具”,然后选择“
脚本
编辑器”。这将打开
AppleScript
编辑器,您可以使用它来编写
脚本
。
步骤三:编写
脚本
在
AppleScript
编辑器
中
,您可以开始编写
脚本
。以下是一个简单的例子:
set iMessageRecipients to {“+86123456789”, “+86123456789”} //将要接收iMessage消息的手机号列表
set iMessageContent to “Hello World!” //消息内容
repeat with recipient in iMessageRecipients
tell application “Messages”
send iMessageContent to recipient
end tell
end repeat
上述
脚本
将遍历iMessageReceipients列表
中
的每个条目。在 Messages 应用程序
中
发送消息给指定的手机号码。您可以将iMessageRecipients列表替换为您的联系人列表,将iMessageContent替换为您要发送的消息。
步骤四:运行
脚本
在编写完
脚本
之后,您可以单击
AppleScript
编辑器
中
的“运行”按钮,或者使用快捷键“Command+R”来运行
脚本
。Messages 应用程序将自动打开,然后发送您的消息,您可以在屏幕上看到发送的进度。
使用
AppleScript
编写iMessage群发
脚本
,可能需要一点时间来设置您的联系人列表和编写
脚本
。不过一旦设置好了,对于经常需要发送同样消息给多个人来说,这个
脚本
会节省您大量的时间和精力。
### 回答3:
苹果
公司的
Applescript
脚本
是一种编写自动化任务的语言,可以用来控制电脑上的各种应用程序进行指定操作。其
中
,iMessage是
苹果
公司的一款即时通讯工具,用户可以在电脑上使用iMessage应用程序进行聊天和发送短信。有些用户需要使用iMessage发送一条消息给多个联系人或群组,这时可以使用
Applescript
脚本
来自动化完成这个任务。
编写
Applescript
脚本
群发iMessage需要掌握一定的
脚本
语言知识和iMessage API接口,以下是一个简单的群发
脚本
示例:
1. 打开
Applescript
编辑器;
2. 输入以下代码:
tell application "Messages"
set targetBuddies to {"first contact", "second contact", "third contact"}
set targetService to id of service "iMessage"
repeat with theBuddy in targetBuddies
set targetId to id of buddy theBuddy of service id targetService
send "message content" to targetId
end repeat
end tell
3. 修改代码
中
的“first contact”、“second contact”等为你要发送的联系人的名称;
4. 将“message content”替换为你要发送的消息内容;
5. 点击菜单栏的“运行”按钮或使用快捷键Command+R来执行
脚本
。
上述
脚本
可以将“message content”发送给targetBuddies
中
指定的所有联系人。这只是一个简单的示例,实际使用可以根据需求进行修改。
需要注意的是,使用
Applescript
脚本
进行iMessage群发需要开启“允许远程自动化”权限。用户可以在系统偏好设置的“安全性与隐私”
中
找到这个选项。同时,使用
脚本
进行群发也需要谨慎,尤其是针对大量联系人,避免因为过于频繁的发送消息而被判定为垃圾短信和滥用iMessage服务。