zoukankan      html  css  js  c++  java
  • python基础四(文件操作)

    1.文件操作的基本流程

    1.1 文件操作的基本流程

     1  # 绝对路径
     2  # r"d:/葫芦娃.txt 前面的r 为转义. linux平台和windows的分隔符不同
     3 f = open(r"d:/葫芦娃.txt",encoding="gbk") # 打开文件,得到文件句柄
     4 content = f.read() # 读操作
     5 print(content)
     6 f.close() # 关闭
     7 # 相对路径
     8 f = open('log',encoding='utf-8')
     9 content = f.read()
    10 print(content)
    11 f.close()

    1.2 文件操作之关闭文件

      打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。在操作完毕一个文件时,必须把该文件的这两部分资源回收。回收方法为:

      1.f.close()

      2.def f # 定义应用程序级的变量

      with关键字操作文件

    1 with open('a.txt','w') as f:
    2     pass
    3  
    4 with open('a.txt','r') as read_f,open('b.txt','w') as write_f:
    5     data=read_f.read()
    6     write_f.write(data)

     2. 文件的打开模式

      文件句柄 = open( '文件路径',‘模式’)

     1 #1. 打开文件的模式有(默认为文本模式):
     2 r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
     3 w,只写模式【不可读;不存在则创建;存在则清空内容】
     4 a, 只追加写模式【不可读;不存在则创建;存在则只追加内容】
     5 
     6 #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
     7 rb 
     8 wb
     9 ab
    10 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
    11 
    12 #3,‘+’模式(就是增加了一个功能)
    13 r+, 读写【可读,可写】
    14 w+,写读【可写,可读】
    15 a+, 写读【可写,可读】
    16 
    17 #4,以bytes类型操作的读写,写读,写读模式
    18 r+b, 读写【可读,可写】
    19 w+b,写读【可写,可读】
    20 a+b, 写读【可写,可读】

    3.文件的操作

    3.1 常用的操作方法

    read(3):

     1.文件打开方式为文本模式时,代表读取3个字符

     2.文件打开方式问b模式时,代表读取3个字节

    其余的文件内光标的移动都是以字节为单位的如:seek,tell,truncate

    注意:

     1.seek有三种移动方式0,1,2,其中1和2必须在b模式下进行,但是无论哪种模式,都是以byte为单位移动的。

     2.truncate是截取文件,所以文件的打开方式必须是可写。但是不能以w或w+等方式打开。因为这样直接清空文件,所以truncate要在r+或a或a+等模式下测试效果。

  • 相关阅读:
    docker部署Nginx
    docker的常用命令
    centos上安装docker
    springcloud负载均衡及Ribbon
    maven下载私服jar
    spring security异常处理的三种方式
    spring security权限控制
    北京理工大学复试上机--2001A
    北京理工大学复试上机--2000
    PAT1067 试密码 (20分)——测试点4分析 一个易错点
  • 原文地址:https://www.cnblogs.com/shine-rainbow/p/9804895.html
Copyright © 2011-2022 走看看