- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个文件 sometext.txt
。我希望此 txt 文件的内容显示在我将使用 applescript
中的 displaynotification
触发的通知中。
换句话说,我希望能够:
显示标题为“Title”的通知“文件内容”
。
我该怎么做?假设 sometext.txt
和 applescript
文件在同一目录中。
最佳答案
GOAL
To fire a notification with text from a file that resides in the same folder as this script.NOTE
Before execution, save the script because when the script is unsaved, the composed path points to the „~/Library/Autosave Information/„ folder (the place where unsaved scripts are) or even to "/Applications/Utilities/" (where Script-Editor is).USAGE
The script beeps (when 'errBeep' is true) if something was not 100% ok and displays the status in a notification.
- when the text file isn't found the script asks for automatic creation.
- if the text file is empty you get notified and it opens the file.
- if the length of the text is greater as in
allowedCharactersCount
(default 65), some action can be performed before firing the notification.
(* *** please customize the appropriate parts *** *)
-- ---------------------------------
-- BEEP when error
-- ---------------------------------
set errBeep to true
--set errBeep to false
-- ---------------------------------
-- file name &
-- number of allowed characters:
-- ---------------------------------
set fileName to "messages.txt"
set allowedCharactersCount to 65
-- ---------------------------------
-- Notification title:
-- ---------------------------------
set notificationTitle to "From: " & fileName
-- ---------------------------------
-- END CUSTOMIZING
-- ---------------------------------
-- ---------------------------------
-- compose file path
-- ---------------------------------
set filePath to my composeFilePath(fileName)
if filePath is "" then
if errBeep then beep
return
end if
-- ---------------------------------
-- check file existence ?
-- ---------------------------------
set filePathExists to my fileExists(filePath)
if not filePathExists then
-- ------------------------------------
-- The file isn't there, ask the user if it should be created (and opened):
-- ------------------------------------
if errBeep then beep
set message to "File " & quoted form of fileName & " at " & return & return & quoted form of filePath & return & return & "is missing."
display dialog message buttons {"Create & Open", "Cancel"} cancel button 2 default button 2 giving up after 20 with title "Where is " & quoted form of fileName & "?" with icon 2
if button returned of the result starts with "Create" then
my readFromFile(filePath) -- this creates the file
tell application "Finder" to open item filePath -- open for edit
end if
return -- we did what we could
end if
-- ---------------------------------------
-- Found the file, now read it:
-- ---------------------------------------
set textFromFile to my readFromFile(filePath)
if textFromFile is not "" then
-- ---------------------------------------------------------
-- Found content, we are ready to fire our notification
-- ---------------------------------------------------------
-- -----------------------------------
-- • but first check length •
-- -----------------------------------
set countCharactersInTextFromFile to count characters in textFromFile -- count includes the "return" characters
if (countCharactersInTextFromFile) is greater than allowedCharactersCount then
-- -----------------------------------
-- • Length is NOT OK
-- More characters as allowed. What to do ? Here, we just beep & change the message and title
-- -----------------------------------
if errBeep then beep
set notificationTitle to "ERROR: " & ((countCharactersInTextFromFile - allowedCharactersCount) as text) & " characters overflow"
set notificationText to (countCharactersInTextFromFile as text) & " characters in textFromFile," & return & (allowedCharactersCount as text) & " characters are allowed."
else
-- -----------------------------------
-- • Length is OK •
-- -----------------------------------
set notificationText to textFromFile
end if
-- ---------------------------------------------------------
-- Fire the notification
-- ---------------------------------------------------------
display notification notificationText with title notificationTitle
-- ---------------------------------------------------------
else
-- ---------------------------------------------------------
-- File is empty! Replace following lines with appropriate action:
-- ---------------------------------------------------------
if errBeep then beep
display notification "*** NO TEXT IN THIS FILE ***" with title "ERROR: EMPTY FILE"
tell application "Finder" to open item filePath -- open for edit
end if
-- ---------------------------------------------------------
-- Sub Routines
-- ---------------------------------------------------------
-- ---------------------------------
-- file existence ?
-- ---------------------------------
on fileExists(filePath)
set filePathExists to false
tell application "Finder"
try
set filePathExists to item filePath exists
end try
end tell
return filePathExists
end fileExists
-- ---------------------------------
-- composeFilePath(fileName)
-- ---------------------------------
on composeFilePath(fileName)
if fileName is "" then return ""
set pathToMe to path to me -- this is the full path to this script
-- get the folder this script is in:
set thisScriptsFolder to ""
tell application "Finder"
try
set thisScriptsFolder to (get container of pathToMe) as text
end try
end tell
if thisScriptsFolder is "" then
return ""
end if
return thisScriptsFolder & fileName -- full path
end composeFilePath
-- ---------------------------------------------------------
-- readFromFile(sourceFile)
-- ---------------------------------------------------------
on readFromFile(sourceFile)
try
set the sourceFile to the sourceFile as string
set the open_sourceFile to open for access file sourceFile
set fileData to read the open_sourceFile
close access the open_sourceFile
return fileData
on error the error_message number the error_number
try
close access file sourceFile
end try
-- display dialog "Error: " & the error_number & ". " & the error_message buttons {"Cancel"} default button 1
return ""
end try
end readFromFile
这里是简短的版本:
set fileName to "messages.txt"
set filePath to my composeFilePath(fileName)
display notification my readFromFile(filePath) with title "From: " & fileName
on readFromFile(sourceFile)
try
set the sourceFile to the sourceFile as string
set the open_sourceFile to open for access file sourceFile
set fileData to read the open_sourceFile
close access the open_sourceFile
return fileData
on error the error_message number the error_number
try
close access file sourceFile
end try
return ""
end try
end readFromFile
on composeFilePath(fileName)
if fileName is "" then return ""
set pathToMe to path to me -- this is the full path to this script
-- get the folder this script is in:
set thisScriptsFolder to ""
tell application "Finder"
try
set thisScriptsFolder to (get container of pathToMe) as text
end try
end tell
if thisScriptsFolder is "" then
return ""
end if
return thisScriptsFolder & fileName -- full path
end composeFilePath
关于macos - 如何使用 applescript 在 os x 中自定义通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953091/
在几个 SO 的问题中,有这些行可以访问代码的父目录,例如os.path.join(os.path.dirname(__file__)) returns nothing和 os.path.join(o
我想用 Python 更改文件模式。 os 模块具有三个功能上看似相同的功能: os.chmod os.fchmod os.lchmod 这三个版本有什么区别? 最佳答案 chmod 用于更改路径指定
考虑: pipe_read, pipe_write = os.pipe() 现在,我想知道两件事: (1) 我有两个线程。如果我保证只有一个正在读取 os.read(pipe_read,n) 而另一个
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
让我们以硬盘驱动器/网络接口(interface)为例。它由多个进程共享。现在多个进程可能会向硬盘驱动器发出并发命令来读取数据。当数据可用时,内核如何知道哪个进程的数据已准备好?操作系统和硬盘驱动器之
嗨,我正在尝试编写像这样的原子写入函数...... with tempfile.NamedTemporaryFile(mode= "w", dir= target_directory) as f:
net.Conn接口(interface)提供了 SetTimeout 方法,我应该用 os.Timeout 检查返回的错误.但是我看不到在返回的 os.Error 上调用 os.Timeout 的方
我正在使用 os 模块在我的 Django 项目 settings.py 文件中具有相对路径。变量 SITE_ROOT 设置为 settings.py 文件的当前工作目录,然后用于引用同样位于同一目录
正如我们所知,Windows 接受 "\" 和 "/" 作为分隔符。但是在python中,使用的是"\"。例如,调用 os.path.join("foo","bar"),将返回 'foo\\bar'。
我有以下工作目录:/Users/jordan/Coding/Employer/code_base ,我想要获取绝对路径的文件位于 /Users/jordan/Coding/Employer/code_
在 Python 中,如果路径中包含“~”,我能否确定扩展的用户调用将是绝对路径? 例如,这个表达式是否总是为真? path = '~/.my_app' os.path.expanduser(path
我是 Django 项目的初学者。Django 项目的 settings.py 文件包含这两行: BASE_DIR = os.path.dirname(os.path.dirname(os.path.
我有一个旧 MAC OS 文件存储中的文件集合。我知道集合存在文件名/路径名问题。问题源于我认为在原始操作系统中呈现为破折号的路径中包含一个代码点,但 Windows 与代码点斗争,并且其中一个包含
Ubuntu怎么安装mac os x主题呢?下文小编将为大家分享ubuntu14.04安装mac os x主题教程,安装MAC OS X&
我有一个 Firefox OS 应用程序,我希望在该应用程序之外打开一个链接(该链接指向不同的站点,在应用程序中打开它会使应用程序在没有强制的情况下无法使用)。我怎么做? Related bug re
我想为 Firefox OS 编写我的应用程序.使用什么样的语言(如 Android 的 Java 和 iOS 的 Objective C++)和工具(如 Eclipse、Xcode)? 最佳答案 适
我正在尝试创建一个 Palm OS 应用程序,以每 X 分钟或几小时检查一次网站,并在有数据可用时提供通知。我知道这种事情可以在新的 Palm 上完成——例如,当应用程序不在顶部时,我的 Centro
我需要在 Firefox OS 中显示全屏图像。我有一个具有 qHD 分辨率(960x540 像素)的“峰值”开发预览手机。 如何确保我的应用程序在其他具有不同屏幕分辨率的 firefox-os 设备
我正在尝试在 Firefox OS 中安装一个新的语言环境,但我不确定我是否正确地按照这些步骤操作。 首先,我尝试使用 Mercurial 下载所需的语言环境:它对我不起作用,Mercurial 说访
我有这个shell脚本Test.sh: #! /bin/bash FILE_TO_CHECK="/Users/test/start.txt" EXIT=0 while [ $EXIT -eq 0 ];
我是一名优秀的程序员,十分优秀!