• Python-文件操作


    基本语法

    语法一

    file object = open(file_name [, access_mode][, buffering])

      注意:操作完文件后,需要调用close方法关闭文件

    例子

     1 # 只读
     2 f = open('file.txt', mode='r',encoding='utf-8')
     3 context = f.read()
     4 print(context)
     5 f.close()
     6 
     7 # 只写
     8 f = open('file.txt', mode='w', encoding='utf-8')
     9 context = f.write('从python写入')
    10 print(context)
    11 f.close()
    12 
    13 f = open('file.txt', mode='wb')
    14 f.write('从python写入'.encode('utf-8'))
    15 f.close()
    16 
    17 # 追加
    18 f = open('file.txt', mode='a', encoding='utf-8')
    19 f.write('从python追加写入
    ')
    20 f.close()
    21 
    22 f = open('file.txt', mode='ab')
    23 f.write('从python以bytes写入
    '.encode('utf-8'))
    24 f.close()
    View Code

    语法二

    with open(file_name [, access_mode][, buffering]) as obj:
        pass

    例子

    with open('file.txt', mode='r+', encoding='utf-8') as obj:
        print(obj.read())

      注意:此种方式不用调用close方法关闭文件

    打开方式

    r只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+    打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

      注意:加‘b’代表以bytes类型打开

    File的属性与方法

    光标定位

    seek()方法

    按照字节定位光标

    注意:seek(3)里面必须传一个参数

    # 把光标定到第三个字节后,开始读完整个文件
    fo = open('file.txt', 'r', encoding='utf-8')
    ret = fo.seek(3)
    print(ret)  # seek = 3
    print(fo.read())

    tell()方法

    告诉你光标的位置

    fo = open('file.txt', 'r', encoding='utf-8')
    ret1 = fo.tell()    # 默认是0的起始位置
    print(ret1)
    print(fo.read())

    文件的读写操作

    write()方法

    将任何一个字符写入文件

    fo = open('file.txt', 'w', encoding='utf-8')
    fo.write('用write方法写入文件')
    fo.close()

    read()方法

    从文件中一次性读取内容

    fo = open('file.txt', 'r', encoding='utf-8')
    ret = fo.read()
    print(ret)
    fo.close()

    readline()方法

    一行一行的读

    fo = open('file.txt', 'r', encoding='utf-8')
    ret = fo.readline()
    ret1 = fo.readline()
    print(ret.strip())
    print(ret1.strip())
    fo.close()

    readlines()方法

    每一行当成列表的一个元素,添加到list中,可以通过for循环一行一行的读

    fo = open('file.txt', 'r', encoding='utf-8')
    ret = fo.readlines()
    for line in ret:
        print(line.strip())
  • 相关阅读:
    学习Spring Boot:(八)Mybatis使用分页插件PageHelper
    学习Spring Boot:(七)集成Mybatis
    学习Spring Boot:(六) 集成Swagger2
    学习Spring Boot:(五)使用 devtools热部署
    学习Spring Boot:(四)应用日志
    学习Spring Boot:(三)配置文件
    学习Spring Boot:(二)启动原理
    学习Spring Boot:(一)入门
    Java8 新特性Stream 的学习和使用方法
    简易promise的实现(二)
  • 原文地址:https://www.cnblogs.com/sunch/p/9449223.html
Copyright © 2020-2023  润新知