将python中字符串分行写入txt的代码已成功运行

能成功运行的代码

#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)
发布了51 篇原创文章 · 获赞 20 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/xuexijiaoliu/article/details/100804405
今日推荐