一、IO

1、文件

在计算机中,文件是以二进制的方式保存到磁盘上的

2、文本文件和二进制文件

  • 文本文件
    • 可以使用文本编辑软件查看
    • 本质上还是二进制文件
    • 例如:python 的源程序


  • 二进制文件
    • 保存的内容不是直接给人阅读的,而是提供给其他软件使用的
    • 例如:图片文件,音频文件,视频文件
    • 二进制文件不能使用文本编辑软件查看

      3、文件的基本操作

      在计算机中操作文件的套路非常固定
  1. 打开文件
  2. 读写文件
  3. 关闭文件

操作文件的函数/方法
在python中操作文件就需要记住1个函数和3个方法

序号 函数/方法 说明
01 open() 打开文件,并且返回文件操作对象
02 read() 将文件内容读取到内存
03 write() 将指定内容写入文件
04 close() 关闭文件

**open()**函数负责打开文件,并且返回文件对象

**read()/write()/close()**三个方法都需要通过返回的文件对象调用
**

4、read() 方法 — 读取文件

open() 函数 的第一个参数是要打开的文件名 (文件名区分大小写)

  • 如果文件 存在, 返回文件操作对象
  • 如果文件不存在,会抛出异常


read() 方法可以一次性
读入并且返回文件的所有内容

close() 方法负责关闭文件
**
如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问

注意:方法执行后,会把文件指针移动到文件末尾

  1. if __name__ == '__main__':
  2. # 打开HelloWorld.txt 文件,区分大小写
  3. file = open("HelloWorld.txt")
  4. # 读取,返回一个str
  5. text = file.read()
  6. print(text)
  7. # 关闭 文件
  8. file.close()

5、python中打开文件的方式

就是open() 函数的第二个参数
open()函数默认以只读的方式 打开文件,并且返回文件对象

语法如下:
f = open("HelloWorld.txt","访问方式")

访问方式 说明
r 只读,默认模式,找不到文件抛异常,文件 指针在开头
w 只写方式 打开文件,如果文件存在 会被覆盖,如果不存在,创建新文件
a 追加方式,如果文件存在 文件指针在尾部,如果文件不存在 创建新文件写入
r+ 读写的方式,文件指针在头部,文件不存在抛出异常
w+ 读写的方式,如果文件存在会被覆盖,不存在创建新文件
a+ 读写的方式,如果文件存在,指针在尾部, 如果文件不存在 那么就创建文件写入

提示:频繁的移动文件指针,会影响我呢见的读写效率,开发中更多的时候会以 只读,只写的方式来操作文件

6、readline() 方法 按行读取文件内容

readline() 方法可以一次读取一行内容
方法执行后,会把 文件指针移动到下一行,准备再次读取

6.1 读取大文件的正确姿势 (减轻内存压力)

  1. if __name__ == '__main__':
  2. # 打开文件
  3. file = open("Student.sql")
  4. while True:
  5. # 读取一行内容
  6. text = file.readline()
  7. # 判断是否读到内容
  8. if not text:
  9. break
  10. # 每读取一行的末尾已经有了一个'\n'
  11. print(text, end="")
  12. # 关闭文件
  13. file.close()

二、OS 文件/目录的常用管理操作

  • 在终端/文件浏览器,中可以执行常规的 文件/目录 管理操作,例如:
    • 创建、重命名、删除、改变路径、查看目录内容 ……


  • 在python中,如果希望通过程序实现上述功能,需要导入os 模块

1、文件操作

序号 方法名 说明 示例
01 rename() 重命名文件 os.rename(源文件名,目标文件名)
02 remove() 删除文件 os.remove(文件名)

2、目录操作

序号 方法名 说明 示例
01 listdir 目录列表 os.listdir(目录名)
02 mkdir 创建列表 os.mkdir(目录名)
03 rmdir 删除目录 os.rmdir(目录名)
04 getcwd 获取当前哦工作目录 os.getcwd()
05 chdir 修改工作目录 os.chdir(目标目录)
06 path.isdir 判断是否是文件 os.path.isdir(文件路径)

三、pip 安装第三方模块

  • 第三方模块通常是指由知名的第三方团队 开发的,并且被程序员广泛使用的 python包 / 模块
    • 例如 pygame 就是一套非常成熟的 游戏开发模块

**

  • pip 是一个现代的,通用的 python 包管理工具


  • 提供了对python包的查找,下载,安装,卸载等功能


四、eval() 函数十分强大

eval() 函数十分强大, 将字符串当成有效的表达式来求值,并返回计算结果

  1. print(eval("1+1")) # 输出 2

在开发中千万不要使用eval 直接转换 input 的结果

容易造成漏洞