第10章 文件及IO操作

57 阅读3分钟

文件的基本概念

  • 文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。计算机文件基本上分为二种:二进制文件(没有统一的字符编码)和纯文本文件(有统一的编码,可以被看做存储在磁盘上的长字符串)。

  • 纯文本文件编码格式常见的有 ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16 等。

  • 二进制文件与文本文件的一个最主要的区别在于是否有统一的字符编码格式,二进制文件顾名思义是直接由0与1组成,无统一的字符编码。如图片文件(jpg、png),视频文件(avi)等。

  • 绝对路径与相对路径

  • 文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。计算机文件基本上分为二种:二进制文件(没有统一的字符编码)和纯文本文件(有统一的编码,可以被看做存储在磁盘上的长字符串)。

  • 纯文本文件编码格式常见的有 ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16 等。

  • 二进制文件与文本文件的一个最主要的区别在于是否有统一的字符编码格式,二进制文件顾名思义是直接由0与1组成,无统一的字符编码。如图片文件(jpg、png),视频文件(avi)等。

读取文件的步骤 image.png

文件的读取

image.png

import os
# 打开文件
# f = open('test.txt')  # 相对路径
path = os.getcwd()
filename = path + '/test.txt'
f = open(filename, mode='r', encoding='utf-8')  # 绝对路径
# # 读取文件
# context = f.read(5)
# print(context)
# context = f.readline()
# print(context)
context = f.readlines()
print(context)
# # 关闭文件
f.close()

文件的追加

# 打开文件
f = open('test3.txt',mode='a',encoding='utf-8')
# 写入文件
f.write('hello\n')
a=['a','vb\n','c\n']
f.writelines(a)
# 关闭文件
f.close()

文件的写入

# 打开文件
f = open('test2.txt',mode='w',encoding='utf-8')
# 写入文件内容
f.write('你好,我是mia\n')
f.write('你是谁\n')
context = ['你好,我是mia','你是谁']
for i in context:
    f.write(i+'\n')
# 关闭文件
f.close()



f = open('test2.txt',mode='r', encoding='utf-8')  # 相对路径
context = f.read()
print(context)
f.close()

with语句

with open('test.txt',mode='r',encoding='utf-8') as f:
    context = f.read()
    print(context)
print('hello')

知识总结

image.png

练习题

  1. 下列代码哪个可以用来接收输入的内容( A )。
    A. a = input
    B. a = input()
    C. a = print
    D. a = print()
  1. 关于Python文件打开模式的描述,以下选项中描述错误的是C
    B. 追加写模式a
    C. 创建写模式n
    D. 只读模式r
  1. 以下选项中,不是Python对文件的打开模式的是C
    A. 'w'
    B. '+'
    C. 'c'
    D. 'r'
  1. 以下选项中不是Python文件读操作方法的是C
    A. readline
    B. readall
    C. readtext
    D. read
  1. Python 文件只读打开模式是D
    A. w
    B. x
    C. b
    D. r
  1. 以下关于文件的描述,错误的是C
    A. 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
    B. open() 打开文件之后,文件的内容并没有在内存中
    C. open()只能打开一个已经存在的文件
    D. 文件读写之后,要调用close()才能确保文件被保存在磁盘中了