Cterm里面自动发帖的Python脚本

发信人: doubleclick (好生 乐生 尊生 贵生), 信区: MSClub
标  题: CCMTC PostHelper(py) Version 2.0
发信站: 武汉白云黄鹤站 (2008年12月05日01:05:53 星期五), 站内信件

#提示一下柠檬同学不必每次都人工发MSRA实习的贴子.

#之前joshuaG已经写了一个版本了,第二版的改动以及说明如下:

删了之前版本中那段硬编码的文件名,改进了某些写法,缩短了代码长度.这样发帖子的同学
不必每次改代码了.不过还是需要在第一次使用的时候把目录名指定好,默认为'D:\MsraInt
ern'。

该指定目录下文本文件的名字就用【MSRA明日之星】XXXX组.txt之类的,因为在代码里面会
使用这个文件名(不含后缀.txt)做帖子的标题.可以考虑先把已知的那几个组都创建全。然
后你只需要每次把信息copy到相应组的文本文件中即可,这个脚本在发完帖子之后会将所有
txt清空,而每次运行的时候只会将有内容的文本输出.

python 代码如下:

##################
#by doubleclick @ CCMTC  

# http://fox23.cnblogs.com  
##################

# -*- coding: gbk -*-
import CTerm
import tools
import sys, string,time,os
from os.path import walk, join, normpath,getsize

ID=long(sys.argv[0]) #Cterm窗口ID            
aimDir=r'D:\MsraIntern' #文档所在目录,可自行设置
for root,dirs,names in os.walk(aimDir):
        for name in names:
                f = file(normpath(join(root,name)))
                content=""
                if os.fstat(f.fileno())[6]!=0:
                        for line in f:
                                content+=line
                        #这里文件名去掉后缀作title
                        SendParsedString(ID, r'^p%s\n\n%s^w\n'%(os.path.splitext(name)[0], content))           
                        f.close()
                        #清空文件
                        f2=file(normpath(join(root,name)),'w')
                        f2.close()
                #适当延时,以免因网络造成数据紊乱
                time.sleep(3)
 
#over

-----------------------------------------------------------
欢迎俱乐部的兄弟姐妹们积极投入到俱乐部的信息化建设中去.邮件系统,飞信系统,档案系
统,XX系统. 俱乐部是你们的土壤,也是你们的舞台.
-----------------------------------------------------------

posted on 2008-12-05 11:30  J.D Huang  阅读(1512)  评论(0编辑  收藏  举报