- 浏览: 51655 次
- 性别:
- 来自: 北京
文章分类
最新评论
上线时几个人同时过上百个文件,这时就需要列出修改过文件的列表
手工记录几乎不可能,这时可以用文件最后修改时间和开始修改时的时间做比较,这时就可以对比出列表
手工记录几乎不可能,这时可以用文件最后修改时间和开始修改时的时间做比较,这时就可以对比出列表
import os,os.path,re,time filelist=[] path = 'F:\hbtv' t=time.strptime("2010-09-15 00:00:00", "%Y-%m-%d %H:%M:%S") t= time.mktime(t) for root, dirs, files in os.walk(path): for file in files: path= os.path.join(root, file) if (not re.match(r".*(\.svn|\.project|html\.\d+|Thumbs\.db).*", path)):# and os.path.getmtime(file)>t : filelist.append(path) for i in filelist: if os.path.getmtime(i)>t: print i#,time.strftime('%Y-%m-%d %H:%M:%S',time.gmtime(os.path.getmtime(i)))
评论
8 楼
全冠清
2011-07-25
#!/usr/local/bin/python #coding=utf-8 "change images path" import os,os.path,re,sys,shutil def changepath(path,rules): types=[key for key in rules] for root,dirs,files in os.walk(path): for file in files: for i in rules: if file.endswith(i): page=open(os.path.join(root,file)).read() if re.search(r'\.jpg|\.gif|\.png|\.css', page): for i in rules[i]: if len(i)==3: page=re.sub(i[0], i[1],page) else: page=page.replace(*i) open(os.path.join(root,file),'w').write(page) print os.path.join(root,file) def copychanges(src,target,changelists): if not os.path.exists(target): os.makedirs(target) j=0 nl=[] for i in changelists: l= os.path.split(i) if not os.path.exists(os.path.join(target,l[0])): os.makedirs(os.path.join(target,l[0])) try: shutil.copyfile(os.path.join(src,i), os.path.join(target,i)) except Exception,e: print e j=j+1 print j nl.append(i.strip()) print "#" *100 print "uncopy file:" for i in nl: print i print "%s%s%s" %('total',len(nl),'') def getStaticMoveList(source): l=[] for root,dirs,files in os.walk(source): for file in files: l.append(os.path.join(root,file)) l=[i.replace(source,'')[1:] for i in l if i[-3:] not in ['jsp','ass','xml','ftl']] return l if __name__=='__main__': rules={".jsp":[ (r'http://image21.19e.cn:18060/',r'http://image30.19360.cn/'), (r'url(/',r'url(http://image30.19360.cn/transaction3.0/'), (r'src="/(?=(\w|\.|_|/)+?(\.gif"|\.png"|\.jpg"|\.css"))',r'src="http://image30.19360.cn/transaction3.0/',True), (r"src='/(?=(\w|\.|_|/)+?(\.gif'|\.png'|\.jpg'|\.css'))",r"src='http://image30.19360.cn/transaction3.0/",True), (r"href='/(?=(\w|\.|_|/)+?\.css')",r"href='http://image30.19360.cn/transaction3.0/",True), (r'href="/(?=(\w|\.|_|/)+?\.css")',r'href="http://image30.19360.cn/transaction3.0/',True)], ".html":[ (r'http://image21.19e.cn:18060/',r'http://image30.19360.cn/'), (r'url(/',r'url(http://image30.19360.cn/transaction3.0/'), (r'src="/(?=(\w|\.|_|/)+?(\.gif"|\.png"|\.jpg"|\.css"))',r'src="http://image30.19360.cn/transaction3.0/',True), (r"src='/(?=(\w|\.|_|/)+?(\.gif'|\.png'|\.jpg'|\.css'))",r"src='http://image30.19360.cn/transaction3.0/",True), (r"href='/(?=(\w|\.|_|/)+?\.css')",r"href='http://image30.19360.cn/transaction3.0/",True), (r'href="/(?=(\w|\.|_|/)+?\.css")',r'href="http://image30.19360.cn/transaction3.0/',True)], ".htm":[ (r'http://image21.19e.cn:18060/',r'http://image30.19360.cn/'), (r'url(/',r'url(http://image30.19360.cn/transaction3.0/'), (r'src="/(?=(\w|\.|_|/)+?(\.gif"|\.png"|\.jpg"|\.css"))',r'src="http://image30.19360.cn/transaction3.0/',True), (r"src='/(?=(\w|\.|_|/)+?(\.gif'|\.png'|\.jpg'|\.css'))",r"src='http://image30.19360.cn/transaction3.0/",True), (r"href='/(?=(\w|\.|_|/)+?\.css')",r"href='http://image30.19360.cn/transaction3.0/",True), (r'href="/(?=(\w|\.|_|/)+?\.css")',r'href="http://image30.19360.cn/transaction3.0/',True)], ".css":[ (r'http://image21.19e.cn:18060/',r'http://image30.19360.cn/'), (r'url(/',r'url(http://image30.19360.cn/transaction3.0/')]} for arg in sys.argv: print arg if len(sys.argv) < 2: print "require path" else: path=sys.argv[1] path=os.path.abspath(path) changepath(path,rules) l=getStaticMoveList(path) copychanges(path,"%s%s"%(path,"_static"),l)
7 楼
全冠清
2011-05-27
检测空链接
def validateUrl(url): up=urlparse.urlparse(url) http=httplib.HTTP(up[1]) http.putrequest('GET',up[2]) http.putheader('Accept','*/*') http.endheaders() errcode,errmsg,headers=http.getreply() if errcode==200: return False else: return True
6 楼
全冠清
2011-05-27
静态文件加参数
#!/usr/bin/python #coding=utf-8 """静态文件加参数""" import os.path def main(path,rules,filerules): for root,dirs,files in os.walk(path): for file in files: if filerules(file): page=open(os.path.join(root,file)).read() for i in rules: page=page.replace(*i) open(os.path.join(root,file),'w').write(page) print os.path.join(root,file) if __name__=='__main__': rules=[(r'.%s%s'%(i,j),r'.%s%s%s'%(i,'?20110527',j)) for i in ['css','jpg','gif','png'] for j in ['"',"'",')']] filerules=lambda x: x.endswith(".html") or x.endswith(".htm") or x.endswith(".jsp") or x.endswith(".css") path="D:\\temp" main(path,rules,filerules)
5 楼
全冠清
2011-05-18
批量拷贝变更
import os,os.path,shutil def copychanges(src,target,changelists): j=0 for i in changelists: if i[-5:] ==".java": i="%s%s"%(i[:-5],".class") l= os.path.split(i) if not os.path.exists("%s%s"%(target,l[0])): os.makedirs("%s%s"%(target,l[0])) try: shutil.copyfile("%s%s"%(src,i.strip()), "%s%s"%(target,i.strip())) print "%s%s"%(target,i.strip()) except Exception: j=j+1 print j
4 楼
全冠清
2011-03-25
#!/usr/bin/python #coding=gb2312 import urllib2,cookielib,urllib,re,time,threading class Conn(object): ''' classdocs ''' def __init__(self): cookie_support= urllib2.HTTPCookieProcessor(cookielib.CookieJar()) opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler) urllib2.install_opener(opener) self.headers = { 'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6' } def request(self,url,data={}): postdata=urllib.urlencode(data) req = urllib2.Request( url =url, data = postdata, headers=self.headers ) link=urllib2.urlopen(req) result = link.read() link.close() return result c=Conn() def login(): login_page= c.request('http://www.517na.cn/login.aspx') imgdata=urllib2.urlopen("http://www.517na.cn/Images/ValidateCode.aspx").read() f=open("img.gif","wb") f.write(imgdata) f.close() v_code=raw_input("请输入验证码内容,按回车键结束:") login_page=c.request('http://www.517na.cn/login.aspx?ReturnUrl=%2fDefault.aspx',{ 'ibtnLogin.x': 17, 'ibtnLogin.y': 33, 'txtPWD':'xxx', 'txtUser':'xxx', 'txtValied':v_code.strip()[:4], '__VIEWSTATE':re.findall(r'id="__VIEWSTATE" value="(.+?)"', login_page)[0], '__EVENTVALIDATION':re.findall(r'id="__EVENTVALIDATION" value="(.+?)"', login_page)[0] }) if re.search(r'BullShow',login_page): print '登录成功' else: print '登录失败,重新登录' login() tr_pattern=re.compile(r'<tr class="hjtr(2|3)".+?>(.+?)</tr>', re.S) td_pattern=re.compile(r'<td>(.*?)</td>',re.S) vstate_pattern=re.compile(r'id="__VIEWSTATE" value="(.+?)"') def getData(airCode,fr,to): page=c.request('http://www.517na.cn/CaiGou/PolicyShow.aspx') page=c.request('http://www.517na.cn/CaiGou/PolicyShow.aspx',{ '__VIEWSTATE':vstate_pattern.findall(page)[0], 'BtnQuery' :'查询', 'DropAircoCode': airCode, 'FromCity$dropCity': fr, 'FromCity$txtCity': fr, 'ToCity$dropCity' : to, 'ToCity$txtCity ' : to, 'selPolicyType': '0', 'txtTime': time.strftime("%Y-%m-%d", time.localtime()) }) l=tr_pattern.findall( page) l=[i[1] for i in l] l=[td_pattern.findall(i) for i in l] return l def t_getData(airCode,airports): for j in airports: for k in airports[:]: l=getData(airCode,j,k) for i in l: print i if __name__ == '__main__': airCompanys=['3U', '8C', '8L', '9C', 'AB', 'BK', 'CA', 'CN', 'CZ', 'EU', 'FM', 'G5', 'GS', 'HO', 'HU', 'JD', 'JR', 'KN', 'KY', 'MF', 'MU', 'NS', 'PN', 'SC', 'VD', 'YA', 'ZH'] airports=['ALA', 'AKU', 'AKA', 'AAT', 'MFM', 'AQG', 'AVA', 'AOG', 'AYN', 'BFU', 'BHY', 'NAY', 'PEK', 'BPL', 'AEB', 'BSD', 'BAV', 'NBS', 'CGQ', 'BPX', 'CGD', 'CTU', 'CIF', 'CNI', 'CKG', 'CSX', 'CHG', 'CIH', 'CZX', 'CCC', 'DDG', 'DNH', 'DLU', 'DLC', 'DQA', 'DIG', 'DAT', 'DOY', 'DAX', 'DZU', 'DSN', 'ENH', 'FUO', 'FUG', 'FYN', 'FOC', 'GOQ', 'GHN', 'KWL', 'KHH', 'GYU', 'GYS', 'KWE', 'KOW', 'CAN', 'HIA', 'HDG', 'HRB', 'HFE', 'HET', 'HEK', 'HJJ', 'HAK', 'HLD', 'HUN', 'HMI', 'TXN', 'HTN', 'HNY', 'HZG', 'HGH', 'HUZ', 'KNC', 'JDZ', 'JGS', 'JHG', 'JJN', 'JIU', 'JIL', 'JMU', 'KNH', 'TNA', 'JNG', 'CHW', 'JXA', 'JGN', 'CYI', 'JZH', 'CJU', 'JNZ', 'SHS', 'KCA', 'KGT', 'KRL', 'KRY', 'KMG', 'KJI', 'KHG', 'LLB', 'LCX', 'LNJ', 'LJG', 'HZH', 'LIA', 'LXA', 'LHN', 'LUZ', 'LXI', 'LYG', 'KYD', 'LYI', 'LYA', 'LHW', 'LZY', 'LZH', 'LZO', 'MDG', 'MZG', 'OHE', 'LUM', 'MIG', 'NZH', 'LZN', 'MFK', 'MXZ', 'NGB', 'KHN', 'NAO', 'NKG', 'NLT', 'ERL', 'NNG', 'NTG', 'NNY', 'HCN', 'PIF', 'CMJ', 'WOT', 'PZI', 'TAO', 'SHP', 'IQM', 'NDG', 'IQN', 'HIN', 'JUZ', 'PVG', 'SHA', 'SJW', 'SYM', 'SWA', 'SYX', 'SHE', 'SZX', 'SZV', 'TSA', 'TPE', 'TCG', 'TCZ', 'GNI', 'TTT', 'TNH', 'TSN', 'TGO', 'TNN', 'TEN', 'TVS', 'THQ', 'TYN', 'RMQ', 'TXG', 'HYN', 'WEF', 'WEH', 'WUA', 'WHU', 'WUH', 'HLH', 'URC', 'WNH', 'WUX', 'WUS', 'WXN', 'WNZ', 'WUZ', 'XIY', 'XIC', 'XEN', 'XFN', 'HKG', 'XIL', 'XMN', 'XNN', 'XIN', 'XNT', 'ACX', 'XUZ', 'ENY', 'YBP', 'YNZ', 'LDS', 'YIH', 'INC', 'YCU', 'YNJ', 'YLN', 'UYN', 'YUA', 'YIN', 'YUS', 'YNT', 'YIW', 'LLF', 'JIQ', 'ZUH', 'DYG', 'ZHA', 'HSN', 'ZAT', 'ZHY', 'ZYI', 'CGO'] login() start=time.time() threads=[] for i in airCompanys: threads.append(threading.Thread(target=t_getData,args=(i,airports))) for i in threads: i.start() while reduce(lambda x,y:x or y,[ i.isAlive() for i in threads]): time.sleep(100) print time.time() end=time.time() print end,start,end-start
3 楼
全冠清
2011-03-10
#!/usr/bin/python #coding=utf-8 import os,os.path,re,httplib,urlparse def validateUrl(url): up=urlparse.urlparse(url) http=httplib.HTTP(up.netloc) http.putrequest('GET',up.path) http.putheader('Accept','*/*') http.endheaders() errcode,errmsg,headers=http.getreply() if errcode==200: return False else: return True def main(path,types): l=[] for root,dirs,files in os.walk(path): for file in files: for i in types: if file.endswith(i): page=open(os.path.join(root,file)).read() if re.search(r'http://image30\.19360\.cn/', page,re.M): l+= [i[0] for i in re.findall(r'(http://image30\.19360\.cn/(\w|\.|_|/)+(\.gif|\.png|\.jpg|\.css))', page,re.M)] return filter(validateUrl,l) if __name__=='__main__': types=['.jsp','.html','.htm','.css'] path="D:\\workspace\\19e3.0" l= main(path,types) file=open('temp.txt','w') for i in l: print i.replace(r'http://image30.19360.cn','') file.writelines([i.replace(r'http://image30.19360.cn','')+'\n' for i in l])
2 楼
全冠清
2011-02-12
图片地址切换
#!/usr/bin/python #coding=utf-8 import os,os.path,re def main(path,rules): types=[key for key in rules] for root,dirs,files in os.walk(path): for file in files: for i in rules: if file.endswith(i): page=open(os.path.join(root,file)).read() if re.search(r'\.jpg|\.gif|\.png', page): for i in rules[i]: if len(i)==3: page=re.sub(i[0], i[1],page) else: page=page.replace(*i) open(os.path.join(root,file),'w').write(page) print os.path.join(root,file) if __name__=='__main__': rules={".jsp":[(r'http://image21.test.cn:18060', r'http://image30.19360.cn'), (r'src="/(?=(\w|\.|_|/)+(gif"|png"|jpg"))',r'src="http://image30.19360.cn/',True), (r'url(/',r'url(http://image30.19360.cn/'), (r"src='/(?=(\w|\.|_|/)+(gif'|png'|jpg'))",r"src='http://image30.19360.cn/",True)], ".css":[(r'http://image21.test.cn:18060', r'http://image30.19360.cn'), (r'url(/',r'url(http://image30.19360.cn/')], ".js":[(r'http://image21.test.cn:18060', r'http://image30.19360.cn')]} path="D:\\workspace\\testRefactoring\\WebRoot" main(path,rules)
1 楼
全冠清
2011-02-12
python删除svn文件
for root,dirs,file in os.walk("D:\\workspace\\test"): if(root[-4:]==".svn"): print root os.system('attrib -r '+root+"\\*.* /s") shutil.rmtree(root)
相关推荐
找出目录下修改时间超过三个月的文件, 将文件名称加上最后修改日期, 将重命名后的文件添加到压缩包,给压缩包加上今天的日期, 将压缩包移动到backup文件夹里面, 并删除原始文件
1、找出当前目录下超过3个月未操作过的文件,并将其重命名,在原本文件名的开头加上最后修改日期,如 “text.py” 改为 “2020-5-17-text.py”。 2、创建一个新文件夹叫backup,将所有重命名的文件都添加到压缩包...
需要实现准备一份未受感染的源代码和一份可能受感染的源代码,然后运行以下脚本,就能找出到底哪些文件被挂马了。 其中,主要是根据比对2份文件的md5值来过滤可能被挂马的文件(确切的说应该是被修改过的文件) ...
如何设计与构建自己的fuzzing工具,如何利用fuzzing测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、Immunity Debugger、Sulley、IDAPython、...
1、原理 提取文件的原理很简单,就是到一个指定的目录,找出最后修改时间大于给定时间的文件,然后将他们复制到目标目录,目标目录的结构必须和原始目录一致,这样工程人员拿到后就可以直接覆盖整个目录;...
数据库的名字叫WawaDB,是用python实现的。由此可见python是灰常强大啊! 简介 记录日志的需求一般是这样的: 只追加,不修改,写入按时间顺序写入; 大量写,少量读,查询一般查询一个时间段的数据; MongoDB的...
可以网上找步骤,我后期也会出几篇安装配置开发教程,可以关注我; 1、安装python、Django和mysql 2、创建Django项目和app;项目名称为:Personnel;app名称为:system; 3、mysql中创建对应的数据库Personnel,...
包含用Python编写并转换为可执行文件的GUI应用程序。 版本说明 2.0版:修复了一些错误,即在GUI界面中更改值不会反映在内存/保存的文件中。 出现潜在问题时添加了弹出消息。 2.1版:修复了多次按下“从网站导入”...
os.rename() 方法用于重命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。 语法 rename()方法语法格式如下: os.rename(src, dst) 参数 src – 要修改的目录名 dst – 修改后的目录名 ...
首先我们可以打开命令行(windows用户可以在cortana中键入cmd,会弹出命令提示符),然后键入python回车就可以切换到python命令行模式了。这一模式下我们可以试试它的hello world和C的hello world有多大差距: !...
注意:下载后请解压transPDF.zip文件然后在该文件夹内运行相应的transPDF.exe程序,不要运行外部的程序,否则找不到第三方转换工具。操作方法:准备好翻译文本,写入match_rule.xlsx中准备好pdf,放在一个文件夹中...
这是一个《大数据挖掘技术》@复旦课程项目,试图从搜狗实验室用户查询日志数据(2008)中找出搜索记录中有较高支持度关键词的频繁二项集。在实现层面上,我搭建了一个由五台服务器组成的微型 Hadoop 集群,并且用 ...
2. 分析数据包,找出请求的数据(如文章列表,文章url等) 3. 根据文章url等信息,抓取文章内容 4. 若文章中包含视频,则取视频url,然后下载 具体实现 ------ ### 一、抓包 ### 1. 工具:`Fiddler`、 `android`...
后端使用python框架Django,调度任务的程序运行基于python高级调度框架APScheduler,使用Scrapy框架进行数据的爬取,彩蛋游戏使用unity2D进行开发 项目描述: 需求分析: 1.学校图书馆借的书都很容易忘记...
fn_game_top_score()找出前n名玩家得分的列表 fn_game_score(v_player_name)计算现有或新玩家的新分数 fn_print_lines()在消息之间打印静态行 fn_game_again()如果玩家想再次玩游戏,请按“ y” fn_game...
迷宫赛跑者原始设计者:Dev.Icarus我的github: : 项目github: : 一个Python算法项目随意使用并更改您的方式-迷宫赛跑者在MIT许可下运行。项目描述: 一个带有Node,Maze和Runner类以及规划求解脚本的迷宫赛跑者...
若该档案“可查阅”,则显示档案所存放位置“分区(如:A区)/类型(如:地方志)/几号柜(如:1号/文件大小(如:20MB))” 5.档案分区入口:该界面上依次列出个分区入口。点击对应分区名可直接进入指定区域。...
今天在使用Pycharm的时候,由于文件过多,我对目录下的文件做了归类,改动了一些文件的路径,结果后来执行的时候,出现了路径找不到的错误. 新建一个test.py文件 此时打印test.py的路径为: /Users/hyl/Documents/...
------- 基于 Python 的词法和...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------