当前位置: 首页 > news >正文

有域名做网站网站更新内容

有域名做网站,网站更新内容,网站建设订流量什么意思,金华做网站在处理大文件时,逐行或分块读取文件是很常见的需求。下面是几种常见的方法,用于在 Python 中分块读取文本文件: 1、问题背景 如何分块读取一个较大的文本文件,并提取出特定的信息? 问题描述: fopen(blank.txt,r) quot…

在处理大文件时,逐行或分块读取文件是很常见的需求。下面是几种常见的方法,用于在 Python 中分块读取文本文件:

在这里插入图片描述

1、问题背景

如何分块读取一个较大的文本文件,并提取出特定的信息?

  • 问题描述:

    f=open('blank.txt','r')
    quotes=f.read()
    noquotes=quotes.replace('"','')
    f.close()rf=open('blank.txt','w')
    rf.write(noquotes)
    rf.close()   f=open('blank.txt','r')
    finished = False
    postag=[]
    while not finished:line=f.readline()words=line.split()postag.append(words[4])postag.append(words[6])postag.append(words[8])              finished=True
    
    • 使用 open()函数打开文件,将文件内容读入变量 quotes,然后用 replace()函数去除所有双引号,再将处理后的内容写回文件。
    • 再次打开文件,并使用 readline() 函数逐行读取文件内容。
    • 对于每一行,将其按空格分割成一个列表 words,并提取出列表中的第 5、7 和 9 个元素,将其添加到 postag 列表中。
  • 问题原因:

    • 问题在于 while not finished: 循环仅迭代了文件的第一行,因此无法处理整个文件。

2、解决方案

  • 使用 xml.etree.ElementTree 模块解析 XML 文件:

    from xml.etree import ElementTreeline = '<word id="8" form="hibernis" lemma="hibernus1" postag="n-p---nb-" head="7" relation="ADV"/>'element = ElementTree.fromstring(line)form = element.attrib['form']
    lemma = element.attrib['lemma']
    postag = element.attrib['postag']print(form, lemma, postag)
    
    • 使用 ElementTree.fromstring() 方法将 XML 字符串解析成一个元素对象。
    • 使用 element.attrib 获取元素的属性,并提取出 formlemmapostag 属性的值。
    • 打印出提取出的信息。
  • 使用正则表达式提取信息:

    import redata = open('x').read()
    RE = re.compile('.*form="(.*)" lemma="(.*)" postag="(.*?)"', re.M)
    matches = RE.findall(data)
    for m in matches:print(m)
    
    • 使用 re.compile() 方法编译正则表达式,并将其应用到文本数据中。
    • 使用 findall() 方法查找所有匹配正则表达式的子字符串,并将其存储在 matches 列表中。
    • 遍历 matches 列表,并打印出每个匹配子字符串。
  • 使用 SAX 解析器解析 XML 文件:

    import xml.saxclass Handler(xml.sax.ContentHandler):def startElement(self, tag, attrs):if tag == 'word':print('form=', attrs['form'])print('lemma=', attrs['lemma'])print('postag=', attrs['postag'])ch = Handler()
    f = open('myfile')
    xml.sax.parse(f, ch)
    
    • 定义一个 SAX 解析器类 Handler,并重写 startElement() 方法,用于处理 XML 文件中的元素。
    • 使用 xml.sax.parse() 方法解析 XML 文件,并指定解析器对象 ch
    • 每次遇到一个 word 元素,就会调用 startElement() 方法,并打印出元素的 formlemmapostag 属性的值。
  • 使用 BeautifulSoup 解析 XML 文件:

    from bs4 import BeautifulSoupsoup = BeautifulSoup(open('myfile').read(), 'xml')for word in soup.find_all('word'):print('form=', word['form'])print('lemma=', word['lemma'])print('postag=', word['postag'])
    
    • 使用 BeautifulSoup() 方法解析 XML 文件,并将其存储在 soup 对象中。
    • 使用 find_all() 方法查找所有 word 元素,并将其存储在 words 列表中。
    • 遍历 words 列表,并打印出每个元素的 formlemmapostag 属性的值。

选择方法

  • 如果需要逐行处理文件,选择方法1。
  • 如果需要分块处理二进制文件或大文本文件,选择方法2。
  • 如果需要按行块处理文件,选择方法3。
  • 如果需要处理大规模的 CSV 文件,选择方法4。

每种方法都有其特定的应用场景,可以根据具体需求选择合适的方法。

http://www.15wanjia.com/news/183945.html

相关文章:

  • 天津百度搜索网站排名软件工程师是什么专业
  • 做游戏网站公司搜索网站排名软件
  • 模型下载网站开发流程如何网上注册公司流程
  • 自己可以学着做网站吗外贸公司是什么类型的企业
  • 东山县建设银行网站织梦 别人 网站 模板
  • 自己做网站的二维码手机建网站优帮云
  • 网站建设标准依据乐清做网站的公司
  • 四川网站建设公司南桥网站建设
  • php装修公司网站源码泰州seo推广公司
  • 2024营业执照年审官网入口杭州seo技术培训
  • 安阳做网站电话莱芜论坛莱芜在线
  • 疗养院有必要做网站吗商务网站的建设与维护
  • 网站页面优化怎么做wordpress仿next主题
  • 网站免费推广建筑工程网络计划图绘制软件
  • wordpress做自建站wordpress设置qq邮箱设置
  • 别人发我网站外链会降权我吗WordPress代码显示器
  • 家用电器网站建设网页制作怎么收费
  • 做实验教学视频的网站网站建设和网站搭建哪个好
  • 网站个人备案和企业备案营销型网站搭建的工作
  • 学校网站建设培训方案wordpress中国风主题下载
  • 内蒙古网站建设信息如东建设网站
  • html5的网站设计自豪地采用wordpress
  • 网站开发哪个好2345浏览器网址
  • 关键字挖掘爱站网html5和php做网站
  • 网站开发与规划就业前景做金属小飞机的网站
  • 免费做海报的网站外贸局合并到哪个局
  • 网站建设公司哪里有长沙官网网站推广优化
  • 有哪些程序做的网站潮州网站开发多少钱
  • 网站域名查询官网wordpress中文案例
  • 泰安房产网站企业网络营销策划书范文