我刚开始使用python并为自己编写了一个很好的小脚本,它通过pynotify使用gnome-notifications,如下所示:
import pynotify
pynotify.init("Application")
alert = pynotify.Notification("Title", "Description")
alert.show();
Run Code Online (Sandbox Code Playgroud)
这很好用,但问题是,当我连续两次执行脚本时,第一个通知需要一段时间才能消失.第二个显示在那之后.由于第一个在我第二次执行脚本时已经过时,我想在显示第二个之前以编程方式删除第一个(或替换它).这是可能的,如果是的话,怎么样?
一些上下文来理解我为什么需要这个:因为我经常将鼠标从左手切换到右手,反之亦然,我想要一个只是反转这个偏好的脚本并在通知中告诉我"切换到左边 - 递给"和"改为右手".
所以这个错误不断回归.
每当我尝试调整脚本时,它返回说:
Traceback (most recent call last):
File "cli.py", line 11, in <module>
import pynotify
ImportError: No module named pynotify
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我刚刚安装了这个插件.我也已经重新启动了命令提示符,甚至是计算机.
但没有,如果有人能帮我在这里那就太好了!
这段代码
#!/usr/bin/env python
import pynotify
import time
import datetime
c='5/1/12 1:15 PM'
print c
dt = time.strptime(c, "%d/%m/%y %H:%M %p")
Run Code Online (Sandbox Code Playgroud)
产生
5/1/12 1:15 PM
Traceback (most recent call last):
File "tmp.py", line 9, in <module>
dt = time.strptime(c, "%d/%m/%y %H:%M %p")
File "/usr/lib/python2.7/_strptime.py", line 454, in _strptime_time
return _strptime(data_string, format)[0]
File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: PM
Run Code Online (Sandbox Code Playgroud)
删除import pynotify,
#!/usr/bin/env python
import time
import datetime
c='5/1/12 1:15 PM'
print c
dt = …Run Code Online (Sandbox Code Playgroud) 我试图理解Notify(python包装器)和pynotify之间的区别.例如 :
from gi.repository import Notify
Run Code Online (Sandbox Code Playgroud)
和
import pynotify
Run Code Online (Sandbox Code Playgroud)
创建通知的代码看起来很相似,但似乎我无法使用python3.3导入pynotify.顺便说一下,我找不到使用Notify创建带信号处理程序的按钮的方法.有没有办法可以在Python3.3中导入pynotify或使用Notify创建按钮?
这两个模块有什么区别?
我一直在网上搜索,但似乎我对谷歌u_u不够熟练
,提前谢谢.
我编写了一个使用pynotify发出警报的脚本.当我运行它时,它工作得很好(python script.py),但是当从cron运行时00 * * * * myname python ~/scripts/script.py,它不起作用!我不知道为什么.这是片段:
if os.path.isfile(os.path.expanduser('~/.thumbnails/normal')+'/'+thumbnail):
n = pynotify.Notification(video_file[0], 'finished download', os.path.expanduser('~/.thumbnails')+'/'+thumbnail)
else:
n = pynotify.Notification(video_file[0], 'finished download', '/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-application-x-shockwave-flash.png')
print n
n.show()
Run Code Online (Sandbox Code Playgroud)
将输出定向到〜/ log.file给出:<pynotify.Notification object at 0x16d4e60 (NotifyNotification at 0x13804e0)>并且没有错误,所以我不确定在哪里看.