zoukankan      html  css  js  c++  java
  • 10-27笔记.文件2

    上篇随笔写了如何读取文件,下面引出了2个问题。

    Q1:如果只想取其中几行怎么办?

    f= open("yesterday2",'r',encoding="utf-8")    表示把yesterday2这个文件打开,并且把它定义为f

    print(f.readlines())   这相当于把f中的每一行当做一个元素弄成了一个列表

    ['Oh, yesterday when I was young ', '噢 昨日当我年少轻狂 ', 'So many, many songs were waiting to be sung ', '有那么那么多甜美的曲儿等我歌唱 ', 'So many wild pleasures lay in store for me ', '有那么多肆意的快乐等我享受 ', 'And so much pain my eyes refused to see ', '还有那么多痛苦 我的双眼却视而不见 ', "There are so many songs in me that won't be sung ", '我有太多歌曲永远不会被唱起 ', 'I feel the bitter taste of tears upon my tongue ', '我尝到了舌尖泪水的苦涩滋味 ', 'The time has come for me to pay for yesterday ', '终于到了付出代价的时间 为了昨日 ', 'When I was young ', '当我年少轻狂 ', 'asdfasdqewradsf']

    for index,line in enurmerate(f.readlines()) 这里其实index是f.readlines()这个元组里元素的下标,line是里面的每一个元素。

    if index == 9:
    print('------我是分割线--------')
    continue
    if index > 2 :
    print(line.strip())   其中strip()代表讲里面的空格和回车都给删了。

    这代表从第三行开始打,并且打到第十行的时候,会打印------我是分割线--------。

    但是这种方法有一个弊端,因为有f.readlines()则代表着吧f中的每一行都给读了,如果这个文件比较大,则运行速度慢,或者内存根本不够。

    Q2:如何想写一行删一行?

    f= open("yesterday2",'r',encoding="utf-8")   依旧先打开

    count =0

    for line in f:
         if count == 9:
             print('------我是分割线--------')
             count+=1
             continue
         print(i)
         count+=1

  • 相关阅读:
    Java Calendar详解
    Java Calendar 类的时间操作
    java获取properties配置文件值
    解决Eclipse中.properties文件中文乱码问题
    java web每天定时执行任务(四步轻松搞定)
    为经典版eclipse增加web and JavaEE插件
    VMware创建虚拟机教程详解及问题解决
    Eclipse对svn操作切换账号或更换svn地址方法
    oracle 查看用户所在的表空间
    (转)CentOS之7与6的区别
  • 原文地址:https://www.cnblogs.com/zaizaiaipython/p/7744385.html
Copyright © 2011-2022 走看看