zoukankan      html  css  js  c++  java
  • 用python实现读写文件常见操作方式

    1  文件读取全文本操作
    在一定场景下我们需要把文本全部内容读取出来,进行处理。python提供三种函数读取文件,分别是read readline readlines,

    read():读取文件的全部内容,加上参数可以指定读取的字符。

    readline():读取文件的一行。

    readlines():读取文件的所有行到内存中。

    不同场景下我们可以选择不同函数对文件进行读取。

    1.1  方法一

    file_name = input("请输入你要打开的文件的完整路径及名称")
    file = open(file_name, "r")
    txt = file.read()
    # 全文本的处理
    file.close()

    使用read函数将文件中的内容全部读取,放在字符串变量txt中。这样操作适合于文本较小,处理简单的情况,当文件较大时,这种方式处理时不合适的。一次性读取较大的文件到内存中,会耗费较多的时间和资源。这时候分批处理效果更好。

    1.2  方法二

    file_name = input("请输入你要打开的文件的完整路径及名称")
    file = open(file_name, "r")
    txt = file.read(4)
    # 文本的处理
    while txt != ""
        txt = file.read(4)
        # 批量文本处理
    file.close()

    这种方法适合于分批处理文本信息,每次批量读入,批量处理,不会对内存造成较大的压力。

    1.3  方法三

    file_name = input("请输入你要打开的文件的完整路径及名称")
    file = open(file_name, "r")
    for line in file.readlines():
        # 处理每一行数据
    file.close()

    这种处理方式适合处理以行为分割特点的文本,并且文本较小,因为这种处理方式需要一次性把文件所有内容读取到内存中。

    1.4  方法四

    file_name = input("请输入你要打开的文件的完整路径及名称")
    file = open(file_name, "r")  # 这里的file时文件句柄
    for line in file:
        # 处理每一行数据
    file.close()

    这种方式和方法三中的区别是分行读入,逐行处理,不会一次性把文件所有内容都读入到内存中,对一些大文件的处理是很有效的。

    2  文件写入文本操作
    文件写入有两种写入函数和一种辅助支持。

    write():向文件中写入一个字符或者字节流 

    writelines():将一个元素全为字符串的列表写入到文件中 需要注意的是,writelines写入列表元素的时候会把列表元素的内容拼接到一起写入,不会有换行和空格 。

    seek(): 辅助写入函数offset偏移量参数代表含义如下

    0 - 文件开头

    1 - 当前位置

    2 - 文件结尾

    2.1  方法一

    file_name = input("output.txt", "w+")
    text = "hello world!"
    file_name.write(text)
    file.close()

    2.2  方法二

    file_name = input("output.txt", "w+")
    list = ["中午","早上","晚上"]
    file_name.writelines(list)
    for line in file:
        # 读取写入的数据,这时候发现是没有任何内容的
    file.close()

    我们增加一行代码就可以读取到写入的文件内容,利用seek()函数调整写操作指针的位置,可以实现写操作之后的正常读取。

    file_name = input("output.txt", "w+")
    list = ["中午","早上","晚上"]
    file_name.readlines(list)
    file_name.seek(0) # 调整写的指针到文件的开始位置
    for line in file:
        # 读取写入的数据,这时候会读出一行写入的数据。
    file.close()

    原文链接:https://blog.csdn.net/qq_43279637/article/details/106781611

  • 相关阅读:
    14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp
    14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项
    13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
    13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令
    12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理
    12.17 Nginx负载均衡 12.18 ssl原理 12.19 生成ssl密钥对 12.20 Nginx配置ssl
    12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
    在界面workspacebar上添加的OnContextMenu函数打的断点始终进不去,显示当前不会命中断点还未为文档加载任何符号
    VS2019安装闪退, 不出现安装界面,解决办法
    BCGP单元格多列合并需要注意的
  • 原文地址:https://www.cnblogs.com/LQZ888/p/13153765.html
Copyright © 2011-2022 走看看