能成功运行的代码
#coding=utf-8
#python源代码必须完全由ASCII集合组成,如果直接在python中添加中文注释的时候,python执行时会引发异常,告知非ASCII字符语法错误。
#read txt method one
import os
import time
import codecs
import xlrd
import xlwt#调用模块,能写入excel
import re #说明要用到正则表达式库的调用
# listTwo=['']
StringFive=str()
#读取TXT文档
try:
FileOne = open('C:/Users/****/Desktop/test7.txt', mode="r", encoding='UTF-8') # 以读模式打开TXT文件,因其中有汉字,以‘utf-8’编码读取
except FileNotFoundError: #如果文件不存在,给提示
print("file is not found")
else:
ListOne=FileOne.readlines() #读取全部行
print(ListOne)
print(type(ListOne))
StringOne = str(ListOne)
print(type(StringOne))
#老师的超简单!
# 定义两个变量:分别表示开始的字符串,结束的字符串
def get_str_between_one(StingTemp, StartWord, EndWord,StringFive):
# 使用find找到开始截取的位置
StringThree = StingTemp.find(StartWord)
#只要s不等于-1,说明找到了http
while StringThree!= -1:
#找结束位置
EndPlace = StingTemp.find(EndWord, StringThree)
#截取字符串 结束位置=结束字符串的开始位置+结束字符串的位置
sub_str = StingTemp[StringThree:EndPlace + len(EndWord)]
# print(sub_str)
StringFive = ''.join(sub_str)#拼接字符串
# print(StringFive)
# StringFive=StringFive+sub_str
#找到下一个开始位置
#如果没有找到下一个开始的位置,相当于写了一句s=-1,while循环的条件不成立,结束循环
StringThree = StingTemp.find(StartWord, EndPlace)
#print(StringFive)
FileTwo = open('C:/Users/****/Desktop/FileTwo.txt', mode="a",
encoding='UTF-8') # 以追加模式打开TXT文件,因其中有汉字,以‘utf-8’编码读取
FileTwo.writelines([StringFive,'\n'])#用writelines这样才能一行写入多个字符串
FileTwo.close()
print("文件保存成功")
return (sub_str, StartWord, EndWord,StringFive)
#调用自定义的函数,截取子字符串
StingFour=get_str_between_one(StringOne, "m_uiCreateTime", "m_uiMessageType",StringFive) #注意空格
print('\n this is StingFour:')
print(StingFour)
print('\n this is StringFive:')
print(StringFive)