python之文件操作相关知识
一、文件的打开与关闭
1、打开文件
在Python中,使用 open() 函数,可以打开一个已经存在的文件,或创建一个新文件
语法如下:
open(文件名, 访问模式)
说明:
访问模式决定了打开文件的模式:只读,写入,追加等。这个参数是非强制的,默认文件访问模式为只读(r)。可取值见如下列表。
2、关闭文件
关闭文件使用 close() 方法
二、文件的读写
1、读
1.1 read()
使用 read(num) 可以从文件中读取数据,num 表示要从文件中读取的数据的长度,如果没有传入num,那么就表示读取文件中所有的数据
假设有文件test1.txt,位于与 Python 相同的文件夹中
示例1
# 使用 open() 函数打开文件
f = open('test1.txt','r')
# 使用 read() 方法读取文件的内容
print(f.read())
# 关闭这个文件
f.close()
运行结果:
示例2
# 使用 open() 函数打开文件
f = open('test1.txt','r')
# 返回文件中的前五个字符
print(f.read(5))
# 关闭这个文件
f.close()
运行结果:
1.2 readlines()
readlines() 可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
示例
# 使用 open() 函数打开文件
f = open('test1.txt','r')
print(f.readlines())
# 关闭这个文件
f.close()
运行结果:
1.3 readline()
使用 readline() 方法返回一行
示例
# 使用 open() 函数打开文件
f = open('test1.txt','r')
# 读取文件中的两行
print(f.readline())
print(f.readline())
# 关闭这个文件
f.close()
运行结果:
1.4 逐行遍历文件
通过循环遍历文件中的行,可以逐行读取整个文件
示例
# 使用 open() 函数打开文件
f = open('test1.txt','r')
for x in f:
print(x)
# 关闭这个文件
f.close()
运行结果:
2、写
使用 write() 可以完成向文件写入数据
假设有文件test2.txt,位于与 Python 相同的文件夹中
示例1
# 打开文件 "test2.txt" 并将内容追加到文件中
# "a" :追加,会追加到文件的末尾
f = open('test2.txt','a')
f.write('Be running up that building')
f.close()
# 追加后,打开并读取该文件:
f = open("test2.txt", "r")
print(f.read())
f.close()
运行结果:
示例2
# 打开文件 "test2.txt" 并覆盖内容
# "w" :写入,会覆盖任何已有的内容
f = open('test2.txt','w')
f.write('Be running up that building')
f.close()
# 写入后,打开并读取该文件:
f = open("test2.txt", "r")
print(f.read())
f.close()
运行结果:
三、文件的相关操作
当需要对文件进行重命名、删除等操作时,须导入 os 模块
1、文件重命名
os 模块中的 rename() 可以完成对文件或目录的重命名操作
语法如下:
os.rename(src, dst)
参数含义:
src:要修改的文件或目录名
dst:修改后的文件或目录名
示例
import os
# 将 test2.txt 重命名为 test最终版.txt
os.rename("test2.txt","test最终版.txt")
2、删除文件
os 模块中的 remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出 OSError
语法如下:
os.remove(path)
参数含义:
path:要删除的文件路径
示例
import os
# 删除当前工作目录下的 test最终版.txt 文件
os.remove("test最终版.txt")
3、创建文件夹
os 模块中的 mkdir() 方法用于以数字权限模式创建目录(单级目录)。默认的模式为 0777 (八进制)。如果目录有多级,则创建最后一级,如果最后一级目录的上级目录有不存在的,则会抛出一个 OSError
语法如下:
os.mkdir(path[, mode])
参数含义:
path:要创建的目录,可以是相对或者绝对路径
mode:要为目录设置的权限数字模式
示例
import os
# 创建文件夹 aaa
os.mkdir("aaa")
4、获取当前目录
os 模块中的 getcwd() 方法用于返回当前工作的目录
语法如下:
os.getcwd()
无参数
示例
import os
# 打印当前目录
print(os.getcwd())
5、改变默认目录
os 模块中的 chdir() 方法用于改变当前工作目录到指定的路径
语法如下:
os.chdir(path)
参数含义:
path:要切换到的新路径
示例
import os
# 修改当前工作目录
os.chdir("./aaa")
6、获取目录列表
os 模块中的 listdir() 方法用于获取指定目录中所有文件和目录的列表。如果未指定任何目录,则将返回当前工作目录中的文件和目录列表
语法如下:
os.listdir(path)
参数含义:
path:需要列出的目录路径
示例
import os
# 打印返回当前工作目录中的文件和目录列表
print(os.listdir())
7、删除文件夹
os 模块中的 rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError
语法如下:
os.rmdir(path)
参数含义:
path:要删除的目录路径
示例
import os
# 删除文件夹 "aaa"
os.rmdir("./aaa")