《Python入门到精通》文件操作

「作者主页」:士别三日wyx
  此文章已录入专栏《Python入门到精通》
  2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习

文件操作

  • 1. 打开文件
    • 1.1 文件路径
      • 1.1.1 相对路径
      • 1.1.2 绝对路径
    • 1.2 模式
  • 2. 创建文件
  • 3. 读取文件
    • 3.1 读取所有文件
    • 3.2 读取指定字符
    • 3.3 读取指定行
    • 3.4 遍历文件
    • 3.5 关闭文件
  • 4. 修改文件
  • 5. 删除文件
  • 6. 删除目录

Python中提供了一些函数以方便我们 「操作文件」

1. 打开文件

open() 函数用来打开文件

语法

open( name, mode )

参数

  • name:文件路径
  • mode:可选,模式
  • 返回值:文件对象

E 盘创建文件 a.txt ,使用 open() 函数打开该文件

file = open('E://a.txt')
print(file)

输出:

<_io.TextIOWrapper name='E://a.txt' mode='r' encoding='cp936'>

1.1 文件路径

文件路径分为两种:

  1. 相对路径
  2. 绝对路径

1.1.1 相对路径

相对路径是指「相对于当前文件」的路径
打开当前目录下的 a.txt 文件

file = open('a.txt')
print(file)

输出:

<_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'>

1.1.2 绝对路径

绝对路径是指文章在「电脑」中的位置

打开 E Python 目录下的 a.txt 文件

file = open('E://python/a.txt')
print(file)

输出:

<_io.TextIOWrapper name='E://python/a.txt' mode='r' encoding='cp936'>

1.2 模式

修改参数 mode 的值,可以指定文件的「打开方式」

  • r:默认,读取,打开文件并读取,文件不存在则报错
  • a:修改,打开文件准备修改,文件不存在则创建
  • w:写入,打开文件准备写入,文件不存在则创建
  • x:创建文件,文件存在则报错

「打开模式」

  • t:默认,文本模式
  • b:二进制模式(图像)

以文本模式 「读取」文件 a.txt
file = open('a.txt', 'rt')
print(file)

输出:

<_io.TextIOWrapper name='a.txt' mode='rt' encoding='cp936'>

2. 创建文件

在当前目录创建文件 b.txt

open('b.txt', 'x')

检查左侧目录,会多出一个文件 b.txt

3. 读取文件

read() 函数用来读取文件内容

语法

read( n )

参数

  • n:可选,读取几个字符
  • 返回值:读取的内容

3.1 读取所有文件

读取文件 a.txt 的全部内容

file = open('a.txt', encoding='utf-8')
text = file.read()
print(text)

输出:

第一行
第二行
第三行
第四行
……

3.2 读取指定字符

读取文件 a.txt 的前 6个字符

file = open('a.txt', encoding='utf-8')
text = file.read(6)
print(text)

输出:

第一行
第二

3.3 读取指定行

readline() 函数可以读取一行内容
读取文件 a.txt 第一行内容

file = open('a.txt', encoding='utf-8')
text = file.readline()
print(text)

输出:

第一行


配合 for 循环读取多行内容,如读取 3
file = open('a.txt', encoding='utf-8')
i = 0
while i < 3:
    text = file.readline()
    print(text)
    i += 1

输出:

第一行

第二行

第三行

3.4 遍历文件

使用 for 循环遍历文件,「逐行读取」文件内容

file = open('a.txt', encoding='utf-8')
for text in file:
    print(text)

输出:

第一行
第二行
第三行
第四行
……

3.5 关闭文件

close() 函数可以关闭文件,如果文件未关闭,对文件的「修改」可能会「不生效」

file = open('a.txt', encoding='utf-8')
print(file.read(3))
file.close()

输出:

第一行

4. 修改文件

write() 函数可以向文件中写入内容
修改文件内容时,需要指定 open() 函数的参数

  • a:「追加」内容至文件末尾
  • w:「写入」内容至文件中(覆盖原文件内容)

向文件 a.txt 中追加内容

file = open('a.txt', 'a', encoding='utf-8')
file.write('新添加的内容')
file.close()

# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())

输出:

第一行新添加的内容


向文件 a.txt 中写入内容( 「覆盖」原内容)
file = open('a.txt', 'w', encoding='utf-8')
file.write('新添加的内容')
file.close()

# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())

输出:

新添加的内容

5. 删除文件

exists() 函数可以判断「文件是否存在」
remove() 函数可以根据文件名「删除文件」

import os

if os.path.exists('a.txt'):
    print('文件存在,删除文件')
    os.remove('a.txt')
else:
    print('文件不存在,无法删除')

输出:

文件存在,删除文件

6. 删除目录

rmdir() 函数可以删除目录(文件夹)

import os

os.rmdir('mulu')

观察左侧目录,文件夹 mulu 已被删除

你可能感兴趣的:(《Python入门到精通》,网络安全,python)