功能描述:主要是開啟乙個txt檔案,分離檔案中qq郵箱和163郵箱,
並新建txt檔案,將分離的資料分別寫入txt檔案中。
import os
import datetime
import collections
def mail(path,name1,name2):
#兩個新檔案的路徑
name1path = path + '\\' + name1 + r'.txt'
name2path = path + '\\' + name2 + r'.txt'
#建立乙個佇列,用佇列進行對目錄的廣度遍歷
queue=collections.deque()
#佇列長度不為0就一直遍歷
while len(queue)!=0:
# 獲取乙個目錄
mainpath = queue.popleft()
# 獲取目錄下所有檔案,list型別
getalldir=os.listdir(mainpath)
# print(getalldir)
# print(type(getalldir))
#迴圈list
for listname in getalldir:
# print(listname)
#新路徑是前路徑+檔名
newpath=os.path.join(mainpath,listname)
#判斷當新路徑不是資料夾,才能執行檔案操作
if os.path.isdir(newpath) == false:
# 判斷檔案是不是目標檔案
if listname=='date.txt':
# 對目標檔案進行讀取
with open(newpath,'r') as f:
alldata=f.read()
# 擷取目標檔案中的郵箱
listalldata=alldata.splitlines()
# print(listalldata,type(listalldata))
# name1path = path + '\\'+name1 + r'.txt'
# name2path = path + '\\'+name2 + r'.txt'
#迴圈郵箱資料
for data in listalldata:
datastr=str(data)
# singledata=datastr.find('qq')
# 判斷字串資料中是不是包含name1,包含就讀取寫入檔案
if datastr.find(name1) >0:
#首次會建立新檔案
with open(name1path,'a+') as r:
with open(name1path, 'r+') as q:
if datastr not in q.read():
q.write(datastr+'\n')
q.flush()
# 判斷字串資料中是不是包含name2,包含就讀取寫入檔案
if datastr.find(name2)>0:
with open(name2path,'a+') as rw:
with open(name2path, 'r+') as w:
if datastr not in w.read():
w.write(datastr+'\n')
w.flush()
f.flush()
path=r'c:\users\cuichuang1\desktop\test'
mail(path,'qq','163')
小白C語言 分離數字
題目 輸出乙個三位整數的個 十 百位數。關鍵字 得到數字 思路 q 如何利用簡單的基本運算來得到乙個數字的各個數字上的數字?a 利用除法和求餘運算 以153為例 首先,百位最容易得到 153 100 1。任何三位數除以100都是得到其百位的數字 其次,個位也好弄 153 10 3。任何三位數對10取...
cuda cuDNN 小白安裝記錄
第二次換電腦安裝 小白的安裝過程非常艱難,並且搜到各種的安裝方法卻走了很多彎路,所以記錄一下。或許能幫助其他小白少走彎路呢?最大的經驗教訓就是安裝之前要先確認自己的顯示卡型號以及對應的cuda版本號,再選擇合適的cudnn版本。開啟c programdata nvidia corporation c...
小白的指令碼記錄
xss基礎注入語句 持續積累中 無過濾 過濾 pt 當使用者滑鼠移動時即可執行 當使用者滑鼠在這個塊上面時即可執行 可以配合weight等引數將div覆蓋頁面,滑鼠不劃過都不行 編碼指令碼 繞過關鍵字過濾,用另乙個語句eval 來實現。eval 會將編碼過的語句解碼後再執行 主動閉合標籤實現注入 a...