内容目录

文件基础操作

# 文件就是存储在某种长期储存设备上的一段数据
# 文件操作
# 打开文件 ---> 读,写文件 --> 关闭文件
# 文件对象的方法
# open():创建一个file对象,默认是以只读模式打开
# read(n):n表示从文件中读取的数据的长度,没有传n值就默认一次性读取文件的所有内容
# write():将指定内容写入文件
# close():关闭文件
# 文件属性
# 文件名.name:返回要打开文件的文件名,可以包含文件的具体路径
# 文件名.mode:返回文件的访问模式
# 文件名.closed:检测文件是否关闭,关闭就返回True
# 1.打开文件
f = open('test.txt')
print(f.name)  # 文件名
print(f.mode)  # 文件访问模式
print(f.closed)
# 2.关闭文件
f.close()
print(f.closed)
test.txt
r
False
True

# 读写操作
# read(n):n表示从文件中读取的数据的长度
f = open(r'C:\Users\18977\Desktop\test.txt')
print(f)
print(f.name)  # 文件的绝对路径
print(f.read())
f.close()
<_io.TextIOWrapper name='C:\\Users\\18977\\Desktop\\test.txt' mode='r' encoding='cp936'>
C:\Users\18977\Desktop\test.txt
hahaha

# readline():一次读取一行内容,方法执行完,会把文件指针移到一下行,准备再次读取
f = open('test.txt')
while True:
    text = f.readline()  # 读取一行内容
    # 读取不到内容要退出循环
    if not text:
        break
    print(text)
f.close()
bingbing18

susu18

ziyi18
# readlines():按照行的方式把文件内容一次性读取,返回的是一个列表,每一行的数据就是列表中的一个元素
f = open('test.txt')
text = f.readlines()
print(text)  # 返回列表
print(type(text))
f.close()
['bingbing18\n', 'susu18\n', 'ziyi18']
<class 'list'>

f = open('test.txt')
text = f.readlines()
for i in text:
    print(i)
f.close()
bingbing18

susu18

ziyi18
# 访问模式
# r:只读模式(默认模式),文件必须存在,不存在就会报错
# w:只写模式,文件存在就会先清空文件内容,再写入添加内容,不存在就创建文件
file = open('test01.txt','w')
file.write('...')  # 重新编辑文件内容,原有内容会被覆盖
file.close()
# +:表示可以同时读写某个文件
# 使用+会影响文件的读写效率,开发过程中更多时候会以只读、只写的方式来操作文件
# r+:可读写文件,文件不存在就会报错
# w+:先写再读,文件存在就重新编辑文件,不存在就创建新文件
f = open('test.txt','w+')
f.write('susu')
print(f.read())
f.close()
# a:追加模式,不存在就创建新文件进行写入,存在则在原有内容的基础上添加新的内容
f = open('test.txt','a')
f.write('\ntest is being written')
f.close()
# 文件指针:标记从哪个位置开始读取数据
# 文件定位操作
# tell()和seek()
# tell():显示文件内当前位置,即文件指针当前位置
# seek(offset,whence):移动文件读取指针到指定位置
# offset:偏移量,表示要移动的字节数
# whence:起始位置,表示移动字节的参考位置,默认是0,0代表文件开头作为参考位置,1代表当前位置作为参考位置,2代表文件结尾作为参考位置
# seek(0,0)就会把文件指针移到文件开头
f = open('test.txt','w+')
f.write('hello python')
pos = f.tell()  # 12,文件内容长度
print('当前文件指针所在的位置:',pos)
f.seek(0,0)
pos2 = f.tell()
print('移动后所在位置:',pos2)
print(f.read())
f.close()
当前文件指针所在的位置: 12
移动后所在位置: 0
hello python
# with open
# 作用:代码执行完,系统会自动调用f.close(),可以省略文件关闭步骤
with open('test.txt', 'w') as f:  # f是对象名
    f.write('hello world')
print(f.closed)
True

with open('test.txt',encoding='utf-8') as f:  # f是对象名
    print(f.read())
冰冰18岁
哈哈

# 案例:图片复制 'rb'
# 1.读取图片(图片是一个二进制文件,想要写入必须要先拿到)
# 2.写入图片
# 读取图片
with open(r'C:\Users\18977\Pictures\fengche2.jpg','rb') as file:
    img = file.read()
# 将读取到的内容写入到当前文件中
with open(r'D:\华为家庭存储\我的应用\pythonproject\pytest01\图片.jpg','wb') as f:
    f.write(img)

# 导入模块 import os
# 1.文件重命名 os.rename(旧名字,新名字)
import os
os.rename('图片.jpg','风车.jpg')
# 2.删除文件 os.remove()
import os
os.remove("test01.txt")
# 3.创建文件夹 os.mkdir()
os.mkdir('bingbing')
# 4.删除文件夹 os.rmdir()
os.rmdir('bingbing')
# 5.获取当前目录 os.getcwd()
print(os.getcwd())
D:\华为家庭存储\我的应用\pythonproject\pytest01
# 6.获取目录列表
print(os.listdir())  # 获取当前目录列表
print(os.listdir('../'))  # 获取上一级目录的列表
最后修改日期: 2025年6月8日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。