文件处理和OS模块

文件处理

1、打开文件 使用open函数
    open(文件路径,访问模式,指定编码格式)
2、读取文件内容 使用read函数
    注意:如果文件不存在,则会抛出异常
3、写入文件内容 使用write函数
    注意:如果文件不存在。写入时创建一个文件
        如果打开文件指定的模式是w则覆盖原有内容写入,如果是a则在原有内容后追加写入
4、关闭文件 close函数
    注意:调用open函数打开文件后,必须调用close函数进行关闭文件 否则会占用资源,且文件不可进行其他操作
 5、导入式
 	with open("文件路径",“访问模式”) as 变量名:
    		操作代码
 	注意:这种方式不要调用close函数关闭文件

文件路径

1、相对路径:以当前py文件所在文件夹作为文件的访问路径前缀进行寻找指定的文件;
    ../文件路径 :以当前py文件所在文件夹的上级文件夹开始寻找指定路径的文件
    ./文件路径 : 以项目的根目录开始寻找指定路径的文件
    如果仅指定文件路径则以当前py文件所在目录下开始寻找指定路径的文件
2、绝对路径:文件的详细路径,以盘符开始到文件地址结束。

访问模式

1、w替换写入 :该模式会使用当前内容替换文件中的原有内容
2、r读取
3、a追加内容 :该模式会在文件内容末尾继续写入当前内容
4、r+可读可写 :默认写入是从文件开始位置开始覆盖写入,如果在写入前有读取操作,则从末尾开始追加,可通过调整指针位置进行控制开始覆盖的位置
5、rb、wb、ab 针对二进制文件进行的访问模式(rb读取,wb写入,ab追加)
注意:指定访问模式后仅能对当前文件进行指定的操作

文件指针调整

1、读取当前指针位置 tell()函数
2、调整指针:seek(偏移字节数,指针位置)可偏移指针
   指针位置可选值:0(开始位置)、1(开始位置)、2(结束位置)
   偏移字节数:当前指针位置值为0时有效且数值只能为正整数,指针根据偏移字节数向右进行偏移,如果偏移数大于字节总长度,则中间补充空字符

读取操作

1、read()读取整个问价
2、readline():读取一行
3、readlines():读取所有行数据,并放在列表中

os模块

提供了处理文件和文件目录的操作
1、引用os模块:import os
2、操作:
    创建文件夹:os.mkdir("路径")
    删除空文件夹:os.rmdir("路径")
    删除非空文件夹:需要使用shutil
        shutil.rmtree("路径")
    文件夹重命名:os.rename('路径','新名称')
    判断是否是文件夹:os.path.isdir("路径")
    判断是否是文件:os.path.isfile("路径")
    获取文件路径:
        当前文件夹绝对路径:os.getcwd()
        文件的绝对路径:os.path.abspath(文件)

示例

# 打开文件
file = open("text.txt", "w", encoding="UTF-8")
# 写入文件内容
file.write("阿打发1")
file.close()

# 打开文件
file = open("text.txt", "r", encoding="UTF-8")
# 读取文件内容
print(file.read())
file.close()

# 打开文件
file = open("text.txt", "a", encoding="UTF-8")
# 追加文件内容
file.write("测试")
file.close()

# 绝对路径
file = open(r"E:\Python\workspace\DemoProject\text.txt", "a", encoding="UTF-8")
file.write("aa阿达发的是")
file.close()

# 测试内容是否替换
file = open(r"E:\Python\workspace\DemoProject\text.txt", "w", encoding="UTF-8")
file.write("1")
file.close()

# 可读可写
file = open(r"E:\Python\workspace\DemoProject\text.txt", "r+", encoding="UTF-8")
file.read()
file.write("111")
file.close()

# 调整指针写入
file = open(r"E:\Python\workspace\DemoProject\text.txt", "r+", encoding="UTF-8")
print(file.readline())

file.seek(1, 0)
file.write("ccc")
file.close()

# 读取图片
file = open("1.jpg", "rb")
print(file.read())
file.close()

# 读取操作
file = open("1.txt", "r")
print(file.read())
file.close()
file = open("1.txt", "r")
print(file.readline())
file.close()
file = open("1.txt", "r")
print(file.readlines())
file.close()

# 导入式操作文件
with open("1.txt", "r") as file:
    print(file.read())

# os模块使用
import os
filepath="test"
# 创建文件夹:os.mkdir("路径")
# os.mkdir(filepath)
# 创建文件
# open(filepath+"/2.txt",'w')

# 删除空文件夹:os.rmdir("路径")
# os.rmdir(filepath)
# 删除非空文件夹:需要使用shutil
# import shutil
# shutil.rmtree(filepath)
# 文件夹重命名:
# os.rename(filepath,"test1")
# 判断是否是文件夹:
print(os.path.isdir(filepath))
#判断是否是文件:
print(os.path.isfile(filepath))
print(os.path.isfile("1.txt"))
#当前文件夹绝对路径:
print(os.getcwd())
#文件的绝对路径:
print(os.path.abspath(filepath))
print(os.path.abspath("1.txt"))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值