python读文件逐行处理的示例代码分享

yipeiwu_com5年前Python基础

复制代码 代码如下:

import os ## for os.path.isfile()

def dealline(line) :
    print(line) ## 针对line我可以做很多事情

def getfilename() :
    return input('Please input file name(input exit() for exit):').strip()

class more : ## MORE功能
    linenum = 0
    size = 10
    def work(self) :
        if self.linenum >= self.size :
            if input('--MORE--').strip().lower() == 'exit()' :
                return False
            self.linenum = 0
        else :
            self.linenum += 1
        return True

while True :
    try :
        filename = getfilename()

        if filename.lower() == 'exit()' : ## 退出
            break

        if os.path.isfile(filename) : ## 判断文件是否存在

            f = open(filename)
            try :
                lines = f.readlines()

                m = more()
                for line in lines:
                    if False == m.work() :
                        break
                    dealline(line)

                ## input()
            finally :
                f.close()

        else :
            print('File does not exists.')
            ##input()
    except :
        print('Input Error!')



还可以用

复制代码 代码如下:

with open(filename) as fh:
    for line in fh:
        yield line


输出每一行

相关文章

PyTorch 随机数生成占用 CPU 过高的解决方法

PyTorch 随机数生成占用 CPU 过高的问题 今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在 CPU 中生成了随机数,然后再调用.to(d...

详解Python中的__init__和__new__

一、__init__ 方法是什么?使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候。例如:复制...

Python标准库笔记struct模块的使用

最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结...

sqlalchemy对象转dict的示例

复制代码 代码如下:def sa_obj_to_dict(obj, filtrate=None, rename=None):    """ &nb...

对python打乱数据集中X,y标签对的方法详解

对python打乱数据集中X,y标签对的方法详解

今天踩过的两个小坑: 一.用random的shuffle打乱数据集中的数据-标签对 index=[i for i in range(len(X_batch))] # print(ty...