新聞中心
用python中re正則化處理HTML
用replace函數(shù),先把style。。。/style等不需要的的內(nèi)容替換為空

創(chuàng)新互聯(lián)專(zhuān)注于曲麻萊企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。曲麻萊網(wǎng)站建設(shè)公司,為曲麻萊等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
再使用正則提取。
或者使用正則,只提取
p.../p之間的內(nèi)容
如何在python中用正則表達(dá)式批量修改文件名
import?re
import?os
def?get_file_list(folder):
file_list?=?[];?
for?root,?dirs,?files?in?os.walk(folder):
for?f?in?files:
path=root+os.path.sep+f
file_list.append(path)
return?file_list
def?get_re_file_list(file_list,re_rule):
file_list_re=[]
for?file?in?file_list:
if?re.search(re_rule,file):
file_list_re.append(file)
return?file_list_re
def?rename2new_file_list(file_list_re,re_rule,new_str):
re_c?=?re.compile(re_rule)
new_file_list?=?[]
for?i?in?range(0,len(file_list)):
new_base_name=re_c.sub(new_str,file_list[i][file_list[i].rindex(os.sep):])
new_full_path=file_list_re[i][:file_list_re[i].rindex(os.sep))+os.sep+base_name
new_file_list.append?(new_full_path)
return?new_file_list
def?rename2list(old_list,new_list):
for?i?in?range(0,len(old_list)):
os.rename(old_list[i],new_list[i])
def?main():
root=""
re_rule=""
new_str=""
old_file_list=get_file_list(root)
re_file_list=(old_file_list,re_rule)
new_file_list=rename2new_file_list(re_file_list,re_rule,new_str)
rename2list(re_file_list,new_file_list)
if?__name__?==?'__main__'
main()
python編程,獲取一段序列的反向互補(bǔ)序列,需要多種方法
lt='CATGCATCGT'
def func1(liststr):
t=list(liststr);d=[]
dct={'A':'T','T':'A','C':'G','G':'C'}
for x in range(len(t)):
d.append(dct[t.pop()])
return d
其他的都簡(jiǎn)單,1.直接字符串反向處理,再逐一翻譯;2.用正負(fù)數(shù)來(lái)處理,這個(gè)對(duì)于大量的任務(wù)可以提高效率;3.兩遍處理,True、False開(kāi)關(guān);4.列表內(nèi)替換,然后反向;5.成對(duì)換位,不過(guò)效率低下; 6.還有就是直接的字符串替換,然后一個(gè)切片s[::-1]就OK了 ;
lt='CATGCATCGT'
lt=lt.replace('A','{A}').replace('T','{T}').replace('C','{C}').replace('G','{G}')
result=lt.format(A='T',T='A',C='G',G='C')[::-1]
python中對(duì)象實(shí)例怎么作為字典
python中dict類(lèi)型的key值要求是不可變類(lèi)型,通常來(lái)說(shuō),我們一般采用int或者str類(lèi)型來(lái)作為字典的key,但是在某些場(chǎng)景中,會(huì)造成一定的麻煩。
如我們有一個(gè)處理http Request的規(guī)則類(lèi)名為Rule,其定義如下,它由一個(gè)Request path和其支持的Request methods數(shù)組組成:
class Rule(object): def __init__(self, path, methods): assert(isinstance(path, str)) assert(isinstance(methods, list))
self.path = path
self.methods = [method.upper() for method in methods]
現(xiàn)在我們想為每一種Rule(非每一個(gè)Rule實(shí)例)關(guān)聯(lián)一個(gè)對(duì)應(yīng)的Handler對(duì)象,使用一個(gè)dict來(lái)保存對(duì)應(yīng)關(guān)系。
r1 = Rule("/index", ["GET"])
r2 = Rule("/index", ["GET"])
d = {r1: handler}print d[r2]# 兩個(gè)不同的對(duì)象,打印出None
r1和r2雖然是兩個(gè)不同的對(duì)象實(shí)例,但是在業(yè)務(wù)邏輯上是一致的,因此如果我們想讓兩個(gè)在邏輯上一致的對(duì)象被認(rèn)為是同一個(gè)key,可以通過(guò)一些手段達(dá)到這個(gè)效果。
為Rule添加兩個(gè)方法__hash__和__eq__,其意義可以查看python官方文檔。
class Rule(object): def __init__(self, path, methods): assert(isinstance(path, str)) assert(isinstance(methods, list))
self.path = path
self.methods = [method.upper() for method in methods] def __hash__(self): return hash((self.path, str(self.methods))) def __eq__(self, other): return (self.path, self.methods) == (other.path, other.methods)
然后再執(zhí)行一下上面的測(cè)試代碼,發(fā)現(xiàn)可以順利取到handler了:
r1 = Rule("/index", ["GET"])
r2 = Rule("/index", ["GET"])
d = {r1: handler}print d[r2] == handler# 打印出True
網(wǎng)站名稱:rule函數(shù)Python python resub函數(shù)
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dojcpjd.html


咨詢
建站咨詢
