• Python从文件中读取数据


    一、读取整个文件内容

    在读取文件之前,我们先创建一个文本文件resource.txt作为源文件。

    resource.txt

    my name is joker,
    I am 18 years old,
    How about you?

    如何读取文件全部内容,我们编写到reader.py文件中。

    reader.py

    1 with open('resource.txt') as file_obj:
    2     content = file_obj.read()
    3     print(content)
    4         

    需要注意的是需要将resource.txt文件与read.py 放在同一目录下。

    运行后的结果如下:

    解释:open函数接收一个参数,此参数为将被读取内容的文件名,在调用之后返回表示这个文件的对象,Python将之存储在后面的变量(file_obj)中,关键字 with 在我们不再需要使用文件的时候将其关闭。

     上面的代码中open() 函数中传入的是一个相对路径,相对路径会从当前文件(reader.py)所在文件夹下查找指定文件(resource.txt),如果文件不在当前文件夹下,可以使用绝对路径。Linux系统绝对路径如:

    /home/joker/dic这样的,Windows系统的绝对路径如:C:/pyhton_workspace/dic 这样的。

    二、逐行读取文件内容

    1 file_name = 'resource.txt'
    2 
    3 with open(file_name) as file_obj:
    4     for content in file_obj:
    5         print(content)

    控制台打印如下:

    解释:在上面的程序中,因为Python在读取文件之后将其存入对象file_obj 中,我们通过对该对象进行循环来遍历文件中的每一行,但是却发现,多了空白行,因为在这个文件中,有看不见的换行符,且print语句语句也会加上一个换行符,因此每行的末尾会有两个换行符。要消除多于的空白行可在print语句中调用rstrip() 方法,如下:

    1 file_name = 'resource.txt'
    2 
    3 with open(file_name) as file_obj:
    4     for content in file_obj:
    5         print(content.rstrip())

    控制台打印如下:

    现在,和与读取整个文件的输出相同了。

  • 相关阅读:
    Java(14):面向对象、封装、继承、方法重写、多态、抽象类与接口、内部类
    Java(13):数组、Arrays类、冒泡排序
    Java(12):方法、重载、命令行传参、可变参数、方法调用
    Java(11):switch、dowhile、九九乘法表、打印质数、打印三角形
    Java(10):用户交互Scanner
    Java(9):包
    Java(8):运算符
    Java(7):变量和常量及其规范、作用域
    Mybatis 打印日志
    mysql 更新数据
  • 原文地址:https://www.cnblogs.com/tizer/p/11032642.html
Copyright © 2020-2023  润新知