当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [分享]一个自动壁纸切换器
帖子发表于 : 2010-10-06 20:43 
头像

注册: 2009-10-09 12:54
帖子: 989
地址: 北京某胡同
系统: debian
送出感谢: 4
接收感谢: 2
今天写了个脚本,可以自动换壁纸,间隔时间自己定,python实现,喜欢的尽管拿 :em04
使用方法
代码:
先要给可执行权限
sudo chmod +x background.py

然后就可以用了,可以自己指定壁纸目录,也可以不指定,直接用当前文件夹下的壁纸。
包里面有两个文件,一个主程序background.py,一个说明文档README
具体参数的使用方法README里面有,一共才3个参数,很简单的,注释是中文的,方便大家学习 :em04
有什么BUG、疑问、建议、批评的尽管说,我全部接受! :em11

使用示例:
代码:
./background.py 3 /home/youself/picture/

该示例是随机抽取/home/youself/picture/中的图片做壁纸,时间间隔为3分钟

懒得下载的话,这个是源代码 :em09 嘿嘿
代码:
#!/usr/bin/env python
#-*- coding: utf8 -*-

import random, os, os.path, sys, pynotify, time, imghdr, gconf

### 帮助文本 ###
def help():
    print '''
  Background Switcher, v0.01
    created by: zkwlx
    Thank : Bummer@companyName.here

 *这是一个定时切换壁纸的脚本

 *使用:python ./background.py [等待时间] [壁纸路径]
      或python ./background.py [-h or --help]
      注意!上面两种参数不能混用!

 *所有参数都是可选的,其中:
    上面第二个是显示该帮助文档
    第一个中[等待时间]就是切换壁纸的时间间隔,以'分'为单位,缺省为10分钟
    [壁纸路径]是您指定的文件夹,切换的就是此文件夹里的图片,缺省为脚本所在文件夹
 *对了,这个脚本是无限循环切换壁纸,所以想退出只能Ctrl+C或直接关闭终端了……
 *谢谢下载和使用^_^!
    '''
    sys.exit()

### 提示信息 ###
def notify(subject, message = None):
    n = pynotify.Notification(subject, message)
    n.show()

### 主程序 ###
def main():
    if len(sys.argv) == 2 and \
            (sys.argv[1] == '-h' or sys.argv[1] == '--help'):
        help()
   
    all_images = []
    sleep_time = 600
    images_dir = sys.path[0]
    try:

################ 解析参数 ################
        if len(sys.argv) == 3 and os.path.isdir(sys.argv[2]):
            sleep_time = int(sys.argv[1]) * 60
            images_dir = sys.argv[2]
        elif len(sys.argv) == 2 and os.path.isdir(sys.argv[1]):
            images_dir = sys.argv[1]
        elif len(sys.argv) == 2:
            sleep_time = int(sys.argv[1]) * 60

############### 创建壁纸列表 #############
        if images_dir[-1] != '/':
            images_dir += '/'
        for files in os.listdir(images_dir):
            if os.path.isfile(os.path.join(images_dir + files)) \
                    and imghdr.what(os.path.join(images_dir, files)):
                all_images.append(os.path.join(images_dir, files))

############### 开始循环换壁纸 #########       
        client = gconf.client_get_default()
        num = len(all_images) - 1
        while True:
            image = all_images[random.randint(0, num)]
            time.sleep(sleep_time)
            client.set_string('/desktop/gnome/background/picture_filename', image)
            notify('当前壁纸为:', os.path.basename(image))
   
    finally :
            notify('程序异常或用户强行退出。', '感谢使用!^_^')

if __name__ == '__main__':
    main()


附件:
background.tar [10 KiB]
被下载 87 次


_________________
python写的一个跨平台的聊天软件TChat。支持文件传输。
android防火墙droidwall更新,添加月流量统计功能。有兴趣的点我:D
原创Android社交应用[飘],开源免费!
页首
 用户资料  
 
2 楼 
 文章标题 : Re: [分享]一个自动壁纸切换器
帖子发表于 : 2010-10-06 21:05 
头像

注册: 2008-05-05 21:21
帖子: 283
送出感谢: 0 次
接收感谢: 0 次
:em11 顶了


_________________
一对蛔虫父子从肛门里钻出来。蛔虫儿子兴奋地问:“爸爸,那蓝蓝的是什么?”“那是蓝天,我的孩子。”“那绿绿的又是什么?”“那是草地,我的孩子。”“爸爸,外面的世界多么美好啊!我们为什么还要住在肛门里呢?”蛔虫父亲顿时挺起身子,清清嗓子,庄严地回答:"因为这里是我们的祖国!"


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [分享]一个自动壁纸切换器
帖子发表于 : 2010-10-07 15:19 
头像

注册: 2009-10-09 12:54
帖子: 989
地址: 北京某胡同
系统: debian
送出感谢: 4
接收感谢: 2
自己顶 :em11


_________________
python写的一个跨平台的聊天软件TChat。支持文件传输。
android防火墙droidwall更新,添加月流量统计功能。有兴趣的点我:D
原创Android社交应用[飘],开源免费!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [分享]一个自动壁纸切换器
帖子发表于 : 2010-10-31 15:30 
头像

注册: 2010-10-30 17:52
帖子: 76
送出感谢: 0 次
接收感谢: 0 次
谢谢,下载了,看看。


_________________
个人博客:http://blog.jtwo.me/
女友淘宝:http://icykiss.taobao.com/
你有什么不开心的事情,说出来让大家开心一下。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译