zoukankan      html  css  js  c++  java
  • 读文件

      1 '''
      2 概述:python内置了读写文件的函数,用法和C是兼容的,在磁盘上读写文件的功能
      3 是由操作系统提供的。读写文件的操作就是请求操作系统打开一个文件对象,
      4 然后通过值操作系统提供的接口从这个已经打开的文件中提取数据(读文件),
      5 或者把数据写入到这个文件中(写文件)。
      6 '''
      7 # 读文件
      8 '''
      9 1、打开文件
     10 2、读取内容
     11 3、关闭文件
     12 '''
     13 '''
     14 1、打开文件
     15 '''
     16 '''
     17 语法格式:open(path, mode [,encoding][,errors])
     18 解释:
     19 path:文件路径
     20     文件路径:
     21         相对路径  : 1-读文件.py
     22         绝对路径  : C:\Users\xlg\Desktop\Day14\文件操作\1-读文件.py
     23 mode:文件的打开方式
     24     r :以只读的方式打开文件,文件描述符放在文件的开头位置
     25     rb : 以二进制格式打开文件,文件只读,文件描述符放在文件的
     26     开头位置
     27     r+:以读写的方式打开文件,文件描述符放在文件的开头位置
     28     w:以只写的方式打开文件,如果文件存在,那么覆盖该文件,
     29     如果文件不存在,则会创建文件。
     30     wb:以二进制格式打开文件,文件用于写入,如果文件存在,
     31     那么覆盖该文件,如果文件不存在,则会创建文件。
     32     w+:以读写的方式打开文件
     33     a:打开一个文件用于追加写入,如果文件不存在,则会创建文件;
     34     如果文件存在,则会在文件末尾写入内容。
     35     a+:以读写的方式打开文件
     36 encoding:文件的编码格式
     37     如果有该参数,文件的编码格式是什么,这里赋值同样的编码格式。
     38 errors:错误处理
     39     strict:默认方式,如果遇到非法字符,抛出异常
     40     ignore:忽略非法字符
     41     replace:用?代替非法字符
     42     
     43 open函数:返回值:文件描述符
     44 注:当文件不存在时,抛出异常:FileNotFoundError
     45 '''
     46 # PermissionError : 权限错误  当文件在C盘下有可能会报错
     47 # 将文件放到E或F等盘下。
     48 
     49 # 1.1、打开普通文件
     50 # 相对路径
     51 f1 = open("readFile.txt", mode="r")
     52 print(f1)
     53 # 绝对路径
     54 f2 = open("C:\Users\xlg\Desktop\read.txt", mode="r")
     55 print(f2)
     56 
     57 # 设置编码格式
     58 f3 = open("readFile.txt","r", encoding="utf-8")
     59 print(f3)
     60 f4 = open("C:\Users\xlg\Desktop\read.txt", mode="r", encoding="utf-8")
     61 print(f4)
     62 # UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in positon 0:
     63 
     64 # 1.2、以二进制形式打开文件
     65 # 注:不能设置encoding
     66 # ValueError: binary mode doesn't take an encoding argument
     67 f5 = open("readFile.txt", "rb")
     68 print(f5)
     69 
     70 # 1.3、指定错误处理方式
     71 f6 = open("readFile.txt", "r", encoding="utf-8", errors="ignore")
     72 print(f6)
     73 
     74 # 1.4、当文件不存在,以读的方式打开文件会返回错误
     75 # FileNotFoundError: [Errno 2] No such file or directory: 'qwe.txt'
     76 # f7 = open("qwe.txt", "r", encoding="utf-8")
     77 # print(f7)
     78 print('------------------------------------------')
     79 '''
     80 2、读取文件
     81 '''
     82 f3 = open("readFile.txt","r", encoding="utf-8")
     83 # 2.1、read([size]) : 会返回读取的内容,记录光标位置,光标位置自动
     84 # 向后移动
     85 # (1)、read()读取文件中所有的内容
     86 # str1 = f3.read()
     87 # print(str1)
     88 print('-----------------------------')
     89 # (2)、read(size) : 读取size个字符并返回
     90 # str2 = f3.read(3)
     91 # print(str2)
     92 # str3 = f3.read(4)
     93 # print(str3)
     94 
     95 # 2.2、readlines([size])
     96 # (1)、readlines()  读取所有行,将每行的内容放到一个列表中返回
     97 # str4 = f3.readlines()
     98 # print(str4)
     99 # (2)、readlines(size) 当size的值大于0时,实际返回的字符数可能会大于size,
    100 # 原因:readlines本事是整行读取,如果涉及到新的一行的内容时,系统
    101 # 是由缓存区的,将该行整行的内容返回。
    102 # str5 = f3.readlines(15)
    103 # print(str5)
    104 
    105 # 2.3、readline([size])
    106 #(1)、readline()  读取整行
    107 # str6 = f3.readline()
    108 # print(str6)
    109 # str7 = f3.readline()
    110 # print(str7)
    111 # (2)、readline(size) 读取size个字符并返回
    112 # str8 = f3.readline(3)
    113 # print(str8)
    114 
    115 # 3、修改描述符的位置:seek(offset)   # 以0开始
    116 # 4、返回描述符的位置:tell()
    117 print(f3.tell())
    118 # f3.read(4)
    119 f3.seek(8)
    120 print(f3.tell())
    121 print(f3.read(3))
    122 
    123 '''
    124 3、关闭文件
    125 '''
    126 # 文件使用完毕后必须关闭,因为文件会占用操作系统的资源,
    127 # 操作系统在同一时间打开的文件数是有限的。
    128 # 注:已经关闭的文件不能再继续使用。
    129 #语法格式:close()
    130 f3.close()
    131 
    132 # ValueError: I/O operation on closed file.
    133 # print(f3.read(3))
    134 
    135 
    136 # 完整过程
    137 # 解释:因为文件读写都有可能会出现IOError异常,
    138 # 当异常出现时,文件的close的操作是不能再执行的,所以,
    139 # 为了保证无论是否出错,都能正确的关闭文件,使用finally来实现。
    140 '''
    141 try:
    142     f4 = open("readFile.txt","r", encoding="utf-8")
    143     print(f4.read(4))
    144 except FileNotFoundError as e:
    145     print("文件不存在")
    146 finally:
    147     if f4:
    148         f4.close()
    149 '''
    150 
    151 # 简洁的方式
    152 #解释:with和上面的try的效果是一样的,但是代码相对简洁,
    153 # 而且不必我们自己调用close(), 系统会自动执行close()
    154 with open("readFile.txt","r", encoding="utf-8") as f1:
    155     print(f1.read(6))
  • 相关阅读:
    Solr的学习使用之(五)添加索引数据
    django视图层
    django的路由层
    第九章 MySQL 高可用(MHA)
    第八章 mysql的主从复制
    第七章 mysql的备份与恢复
    第六章 mysql日志
    第五章 存储引擎
    第四章 元数据 索引
    第三章 mysql 数据库接口程序以及SQL语句操作
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11266147.html
Copyright © 2011-2022 走看看