㈠ python 文本查找
這個很簡單哈,我用java寫過類似的,python下沒寫過,但思路都是一樣的,我說一下思路,供你參考一下:
【笨方法】」字元串截取「
基本字元串1=」abc123「
基本字元串2=」345aaa「
例如:目標字元串為:Today
is
a
good
day
aaa123目標字元串345aaa
那麼:
獲得基本字元串1的長度:len1=len(基本字元串1)
獲得基本字元串2的長度:len2=len(基本字元串2)
---------------------------------------------------------------------
以len1長度開始截取目標字元串,以上面的例子為例,截取出來的應該為:
Today_
oday_i
day_is
ay_is_
y_is_a
等...........................
..............
當然這些都是一個循環就可以搞定,然後在這個循環里,對每次接觸的字元串進行比對,如果找到與目標字元串形同的,則記下」索引「
開始進行下一步處理:截取本句剩下的部分,找到」基本字元串2「,然後記下其開始」索引「,那麼兩個」索引「之間的東東就是你想要的那個」目標字元串「,之後你想用它干什麼都行...........
【超簡單的方法】
會」正則表達式「嗎?會的話,直接用正則吧,幾句就出來了..........
㈡ Python 截取文本內容
你要的內容說得不清楚:
importjsonasjs
file="test.json"#此文件中存放的是下面str_js中一樣的內容
str_js='{"msg":"你電腦打字一分鍾字速多少","type":"text"}'#字元串
mydict=js.loads(str_js)
print(mydict['msg'])#你電腦打字一分鍾字速多少
withopen(file)asf:
mydict=js.load(f)
print(mydict['msg'])
不知道你的原始數據內容來自哪裡,是個字典還是字元串?
㈢ Python字元串是什麼,如何使用
字元串的表示
字元串可以被成對的單引號(single quote)或雙引號(double quotes)包圍起來,這兩者的作用是一樣的:
更多關於Python的基礎性知識可以看下這個網頁的視頻教程,Python常見的數據類型及使用方法掌握,希望我的回答能幫到你。
㈣ 如何用python將非文本文件以文本形式打開
open(file_path, mode, encoding, ...)
open函數默認就是文本模式(t一般都省略),除非你指定b模式,所以open(xxx, "r")就可以。
㈤ 如何用python去掉文本中的\
s=r'123456'#r表示原生字元,即字元串中的不是用來轉義,而是其本身
print(s.replace('\',''))
運行結果:
123456
㈥ Python:怎樣將txt文件讀取到一個字元串里
1、首先在vscode裡面添加了Python文件和用於讀取的文本文件。
㈦ python 文本內容提取
#!/usr/bin/python3
#-*-coding:utf-8-*-
defparse(text):
result=[]
importre
r1=re.compile(r's*(/[^s]+)s+FaceTrackings+{([^}]*)}s+(([^)]*))')
r2=re.compile(r's*FD_Faces+(([^)]*))')
pos=0
whileTrue:
m=r1.match(text[pos:])
ifnotm:
break
data={}
data['source']=m.group(1)
keys=m.group(2).split(',')
values=m.group(3).split(',')
attrs=dict(map(lambdax,y:[x,y],keys,values))
data.update(attrs)
pos+=m.end()
face=[]
forxinrange(int(data['FaceNumber'])):
m=r2.match(text[pos:])
ifnotm:
break
face.append(m.group(1).split(','))
pos+=m.end()
data['FD_Face']=face
result.append(data)
returnresult
defmain(input_file,output_file):
f=open(input_file,'r')
text=f.read()
f.close()
result=parse(text)
buff=[]
fordatainresult:
buff.append('miFileIndex:{miFileIndex}'.format(**data))
buff.append('source:{source}'.format(**data))
buff.append('FaceNumber:{FaceNumber}'.format(**data))
i=0
forfaceindata['FD_Face']:
i+=1
buff.append('Face{0}:({1})'.format(i,','.join(face)))
buff.append('')
f=open(output_file,'w')
f.write(" ".join(buff))
f.flush()
f.close()
if__name__=='__main__':
importsys
iflen(sys.argv)==3:
main(sys.argv[1],sys.argv[2])
㈧ python 處理文本,格式化文本~
#coding=utf-8
records=[]
record={}
withopen("data.txt")asf:
whileTrue:
line=f.readline()
ifnotline:
iflen(record)!=0:records.append(record)
break
field=line[line.find(":")+1:].strip()
ifline.startswith("ScopeId"):
iflen(record)!=0:records.append(record)
record={}
record["ScopeId"]=field
elifline.startswith("Name"):
record["Name"]=field
elifline.startswith("Free"):
record["Free"]=field
elifline.startswith("InUse"):
record["InUse"]=field
elifline.startswith("PercentageInUse"):
record["PercentageInUse"]=field
#設置預設項
forrinrecords:
r.setdefault("InUse",0)
r.setdefault("PercentageInUse",0)
r.setdefault("Name","")
r.setdefault("Free",0)
printrecords
㈨ python文本處理
下面的代碼要求 a.txt 和 b.txt 必須是 utf-8 編碼(這樣才能正確處理中文),如果你的文件全是 ascii的英文的,那自己把所有utf-8相關的語句刪掉即可。另外我的代碼直接列印出來了結果,你可以用重定向或者把 print 那裡改成寫入 c.txt 。 另,用的是 python2,如果你是 python3,改一下 print 語句即可
沒問題了花,別忘了把你原來的那個問題關掉 :)
#!/usr/bin/python2
#_*_coding:utf-8_*_
defmatch_sentence(wlist,wset):
stack=[]
start=0
end=0
whileTrue:
end+=1
w=u''.join(wlist[start:end])
ifwinwset:
stack.append(tuple([start,end]))
ifend==len(wlist):
#fullmatch
yield[''.join(wlist[x:y])forx,yinstack]
stack.pop()
else:
start=end
continue
ifend==len(wlist):
iflen(stack)>0:
start,end=stack.pop()
else:
return
wordset=set()
#processb.txttocollectwords
forlineinopen("b.txt","r"):
w=line.strip().decode("utf-8")
iflen(w)>0:
wordset.add(w)
#processa.txt
forlineinopen("a.txt","r"):
line=line.strip()
iflen(line)==0:
continue
line=line.decode("utf-8")
words=line.split('')
forxinmatch_sentence(words,wordset):
x=['[%s]'%(w)forwinx]
print''.join(x)