zoukankan      html  css  js  c++  java
  • 6、Python之文件操作

    一、文件操作流程

    1. 打开文件,得到文件句柄并赋值给一个变量
    2. 通过句柄对文件进行操作
    3. 关闭文件

    1、读文件

     1 file = open("data.txt","r",encoding='utf-8') #data.txt 文件 r-只读 utf-8编码规则 file为文件句柄
     2 #f = file.read()  #将文件所有数据读到内存中地址指向f
     3 #f = file.readline() #读取文件一行
     4 #f = file.readlines() #读取文件所有行并将其转为列表,每行表示列表的一个元素
     5 p = file.tell() #显示当前文件坐标显示的位置
     6 p = file.seek(3) #将文件坐标移到第三个位置
     7 
     8 print(file.readable()) #判断文件是否可读
     9 print(file.readline())
    10 
    11 file.close() #关闭文件

    2、写文件

    1 file = open("data.txt","w",encoding='utf-8') #data.txt 文件 w-只写 utf-8编码规则 file为文件句柄
    2 file.write("我在写文件,如果文件不存在就新建一个文件,如果存在就清楚之前的文件内容,然后写入!
    表示换行")
    3 print(file.writable()) #判断文件是否可读
    4 file.flush()  #刷新缓冲区
    5 file.writelines("
    我表示像文件中写入一行")
    6 file.close() #关闭文件

    代码4file.flush()表示刷新缓冲区,我们在写文件的时候一般不是直接写到磁盘上的,而是先写入内存的一个缓冲区中,等缓冲区满了,再将数据一次性写入磁盘,file.flush()方法就是将缓冲区中的数据写入磁盘而不需要等待缓冲区是否满。

    3、文件追加内容

    1 file = open("data.txt","a",encoding='utf-8') #data.txt 文件 a-追加 utf-8编码规则 file为文件句柄
    2 file.write("因为文件模式为a,所以我会将这行内容追加到文件的最后位置")
    3 print(file.tell()) #因为文件模式为a(追加模式),所以文件下标会默认移到文件最后位置
    4 file.truncate(99)#从文件起始位置开始截取长度为100个字节
    5 print(file.fileno()) #打印文件编号
    6 file.close() #关闭文件

    3、with语句

        我们有时候在打开文件的时候会忘记关闭,这时候我们使用with关键字来打开文件即可,语法如下:

    1 with open("data.txt","r",encoding='utf-8') as f:   #打开单个文件
    2     pass
    3 with open('log1') as obj1, open('log2') as obj2: #打开多个文件的语法
    4     pass

    4、打开文件的模式有:

    • r,只读模式(默认)。
    • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    "+" 表示可以同时读写某个文件

    • r+,可读写文件。【可读;可写;可追加】
    • w+,写读
    • a+,同a

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    • rU
    • r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    • rb
    • wb
    • ab
  • 相关阅读:
    js正则匹配以某字符串开始字符串
    vue+vue-resource+vue-cookie随笔
    [考试反思]1001csp-s模拟测试(b):逃离
    [考试反思]0929csp-s模拟测试55:消逝
    [考试反思]0928csp-s模拟测试54:转瞬
    [考试反思]0927csp-s模拟测试53:沦陷
    [考试反思]0926csp-s模拟测试52:审判
    [考试反思]0924csp-s模拟测试51:破碎
    Function:凸包,决策单调性,题意转化,单峰函数三分,离线处理
    土兵占领:二分答案,最大流
  • 原文地址:https://www.cnblogs.com/win0211/p/8350935.html
Copyright © 2011-2022 走看看