python 判斷txt每行內(nèi)容中是否包含子串并重新寫入保存的實(shí)例
假設(shè)需要批量處理多個(gè)txt文件,然后將包含子串的內(nèi)容寫入一個(gè)txt文件中,這里假設(shè)我的子串為"_9"和“_10”

下面就是我想要得到的其中兩行內(nèi)容(實(shí)際上還有很多行哈哈):

直接上代碼:
#! /usr/bin/python # -*- coding:UTF-8 -*- import os import os.path import string
txt文件所在的路徑和需要保存的目標(biāo)路徑(根據(jù)自己的實(shí)際目錄進(jìn)行更改即可):
Crop-Ocr_txt文件夾內(nèi)放置了我需要批量處理的所有txt,我在同級(jí)目錄下新建一個(gè)文件夾名為1000_simple_Ocrtxts,這里目標(biāo)路徑隨意就好,能方便找到就行
txt_path = 'D:/youxinProjections/trafic-youxin/MobileNet_v1/obtain_qq_json_new/Crop_Ocr_txt/' des_txt_path = 'D:/youxinProjections/trafic-youxin/MobileNet_v1/obtain_qq_json_new/1000_simple_OCRtxts/' txt_files = os.listdir(txt_path) #txt_files能得到該目錄下的所有txt文件的文件名
定義一個(gè)函數(shù)專門用來(lái)取包含子串的內(nèi)容并寫入到新的txt文件中,在后邊的主函數(shù)中直接調(diào)用這個(gè)函數(shù)就行就行:
def select_simples():
for txtfile in txt_files:
if not os.path.isdir(txtfile):
in_file = open(txt_path + txtfile, 'r')
out_file = open(des_txt_path + txtfile, 'a') # 此處自動(dòng)新建一個(gè)文件夾和txtfile的文件名相同,'a'為自動(dòng)換行寫入
lines = in_file.readlines()
for line in lines:
str_name = line.split(" ")[0] # 這里獲取的是txt文件中每行內(nèi)容以空格隔開(kāi)的第一個(gè)元素,也就是我自己txt文件中的*.jpg那一塊內(nèi)容
str1 = '_9' # 這就是我要判斷的子串
str2 = '_10' # 這也是子串
#if (string.find(str_name, str1)!=-1) or (string.find(str_name, str2)):
if (str1 in str_name) or (str2 in str_name): # in 可以判斷在str_name中是否包含有兩個(gè)子串,
out_file.write(line) # 若包含子串,則將該行內(nèi)容全部重新寫入新的txt文件
print(str_name)
out_file.close()
主函數(shù)到了?。?/p>
if __name__ == '__main__':
select_simples()
曬一下最后的結(jié)果:

完美有沒(méi)有?。?!
補(bǔ)充知識(shí):python判斷文件中有否重復(fù)行,逐行讀文件檢測(cè)另一文件中是否存在所讀內(nèi)容
我就廢話不多說(shuō)了,還是直接看代碼吧!
#!/bin/env python
# coding:utf-8
#程序功能是為了完成判斷文件中是否有重復(fù)句子
#并將重復(fù)句子打印出來(lái)
res_list = []
f = open('./downloadmd5.txt','r')
res_dup = []
index = 0
file_dul = open('./r_d.txt', 'w')
file_last = open('./r_nd.txt','w')
for line in f.readlines():
index = index + 1
if line in res_list:
temp_str = ""
#temp_str = temp_str + str(index) + ',' #要變?yōu)閟tr才行
temp_line = ''.join(line)
temp_str = temp_str+temp_line
#最終要變?yōu)閟tr類型
file_dul.write(temp_str); #將重復(fù)的存入到文件中
else:
res_list.append(line)
file_last.write(line)
#!/bin/env python
# coding:utf-8
import re
res_list = []
f = open('./md5.txt','r')
f2 = open('./virus.conf','r')
index = 0
#沒(méi)重復(fù)的文件名
file_dul = open('./m_nd.txt', 'w')
#重復(fù)的文件名
file_ex = open('./m_d.txt', 'w')
virstr = f2.read();
for line in f.readlines():
line=line.strip('\n')
if(re.search(line, virstr)):
line = line + '\n'
file_ex.write(line);
#調(diào)用刪除rm -rf filename
else:
line = line+'\n'
file_dul.write(line);
以上這篇python 判斷txt每行內(nèi)容中是否包含子串并重新寫入保存的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用 Django 進(jìn)行測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
本文分享了什么是測(cè)試驅(qū)動(dòng)開(kāi)發(fā),并用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的方式 創(chuàng)建了一個(gè)簡(jiǎn)單的 Django 應(yīng)用程序,感興趣的可以了解一下2021-11-11
解決Pycharm無(wú)法import自己安裝的第三方module問(wèn)題
今天小編就為大家分享一篇解決Pycharm無(wú)法import自己安裝的第三方module問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python實(shí)現(xiàn)遍歷大量表格文件并篩選出數(shù)據(jù)缺失率低的文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)遍歷大量表格文件并篩選出表格內(nèi)數(shù)據(jù)缺失率低的文件的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05
Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)
本文主要介紹了Pandas缺失值填充 df.fillna()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
python opencv捕獲攝像頭并顯示內(nèi)容的實(shí)現(xiàn)
這篇文章主要介紹了python opencv捕獲攝像頭并顯示內(nèi)容的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
利用pyuic5將ui文件轉(zhuǎn)換為py文件的方法
今天小編就為大家分享一篇利用pyuic5將ui文件轉(zhuǎn)換為py文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
python實(shí)戰(zhàn)之PyQt5實(shí)現(xiàn)漫畫臉
本文詳細(xì)講解了python實(shí)戰(zhàn)之PyQt5實(shí)現(xiàn)漫畫臉的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12

