正式的Python专栏第35篇,同学站住,别错过这个从0开始的文章!

前面写了文件的读取,按行读写等,这篇我们把文件处理等其他函数也过一过吧。

文件属性

前面我们更多集中学习了文件的读写(open)函数打开文件然后使用read/write函数。

文件还有很多属性,常见的有下面的几个:

  • name 文件名字
  • encoding 编码,有时候编码搞错了就容易出现乱码!
  • mode 打开文件的模式(r=读文件,w=写文件)
  • closed 是否关闭状态
  • buffer 缓冲IO对象(根据mode来创建读缓冲/写缓冲)

复制运行下面的代码看看:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : helloafile = open("sample.txt","w")
print("file name :", afile.name)
print("file mode :", afile.mode)
print("buffer:", afile.buffer)
print("encoding  :", afile.encoding)
print("closed ? ", afile.closed)
afile.close()
print("closed ? ", afile.closed)

下面是运行结果:

前面文章分享了读取文章的代码,读者可以改改,观察一下读取文件的状态有哪些不同。

学委运行了一下:

还有其他哪些打开文件的模式吗?

它们是:

分类 文本 二进制 读写文本混合模式 读写二进制混合模式
读取 r rb r+ rb+
写入 w wb w+ wb+
追加 a ab a+ ab+

横向分为三大类,读取数据,写入数据,文件末尾追加数据,非常直观。

这里不一一进行代码展示,掌握两种读写方式其他可以后期查表。

其他文件操作:增删查改

学委先展示文件夹的基本操作,所以:

这里的增是 创建文件夹
这里的删是 删除文件夹
这里的查是 查找文件夹
这里的改是 改文件夹名

为此我准备了下面的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : hello
import oscurrent_folder = os.getcwd()  # 获取当前目录
print("当前目录:" + current_folder)os.mkdir("./xuewei_testingfiles")
os.rename("./xuewei_testingfiles", "./xuewei_demo")
files = os.listdir(current_folder)
print("files:" + str(files))
os.removedirs("./xuewei_demo")print("删除了文件夹:xuewei_demo")
files = os.listdir(current_folder)
print("files:" + str(files))

这个就是运行效果。

但是学委并没有把查文件夹做完全,留一个思考空间给读者。

稍微解释一下:

os.listdir 是一个查看目录下面文件包括文件夹的函数
os.removedirs 是一个移除目录的函数
os.rename 是用来修改文件名的函数

上面的操作是list类型的,学过学委发表的list文章肯定知道怎么遍历查找了。

自己动手吧。

进入主题 文件的增删查改

请读者自己想想,你会怎么写?

给你一个提示:

os.remove 函数可以用来移除文件。

其他操作类比文件夹上面的代码进行编写。

你能想到吗?

这是代码,直接贴了。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : hello
import oscurrent_folder = os.getcwd()  # 获取当前目录
print("当前目录:" + current_folder)new_file = "./xuewei_file"
with open(new_file, "w") as f:f.write("持续学习持续开发,我雷学委")
os.rename(new_file, "./xuewei_demo_file")
files = os.listdir(current_folder)
print("files:" + str(files))os.remove("./xuewei_demo_file")
print("删除了文件:xuewei_demo_file")
files = os.listdir(current_folder)
print("files:" + str(files))

总结

Python 文件的属性不少,我们需要把握重点,特别是mode属性和encoding属性。

以及文件的增删查改操作,基本是每个程序员必须掌握的知识点,刷一下吧。

对了,喜欢Python的朋友,请关注学委的 Python基础专栏 or Python入门到精通大专栏

持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
欢迎关注微信,点赞支持收藏!

捋一捋Python的文件属性和增删查改等(下)相关推荐

  1. python实现MySQL的增删查改

    表结构: 利用python操作数据库需要导入pymysql数据库,如果没有这个库可以利用cmd进行安装,打开cmd然后输入: pip install pymysql 即可成功安装. python实现数 ...

  2. Python字典dict的增删查改及常用操作

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  3. day03 Python字典dict的增删查改及常用操作

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  4. python学生成绩管理系统-增删查改

    1.1问题描述及要求 问题描述: 用Python编写一个学术成绩管理系统,功能包括但不限于以下: 1.学生注册登录 2.学生成绩录入 3.个人成绩查询 4.统计个人成绩 5.统计班级成绩 要求: 用c ...

  5. Python学生信息管理系统(增删查改、模糊查找、txt文件输出)# 谭子

    一.系统需求说明 本项目计划实现一个学生管理系统,学生信息包括:姓名.性别.手机号码,系统包含以下功能. 模块 子模块 说明 查询模块 查询全部学生的信息 显示当前系统内所有学员的信息 查询模块 精准 ...

  6. python学习之flask sqlalchemy介绍和使用 表操作增删查改

    flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...

  7. Python险种缴费记录管理(增删查改)

    险种缴费记录管理(增删查改) 需求 entity(实体类) record manager(dao方法) recordManager 测试方法 需求 # 险种缴费记录管理 # 五险一金: # 五险:企业 ...

  8. 8天学通MongoDB——第二天 细说增删查改

    2019独角兽企业重金招聘Python工程师标准>>> 看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongod ...

  9. Django:数据库表的建立与增删查改(ForeignKey和ManytoMany)

    数据库表的创建: 1.Django工程项目建立,基础环境调试. 2.创建表 from django.db import models class Publisher(models.Model):    ...

最新文章

  1. top 命令显示隐藏参数列
  2. 5G UE — CPE
  3. Django模板语言(译)
  4. [2021.1.31多校省选模拟12]随机变换的子串(线段树维护分治/字符串/自动机思想)
  5. php返回并中断,php – 如何从回调函数返回控件或中断array_filter处理中的数组处理...
  6. java工程师面试宝典_【Java工程师面试宝典】学习说明_互联网校招面试真题面经汇总_牛客网...
  7. angularjs html压缩,Angularjs 依赖压缩及自定义过滤器写法
  8. Atitit java集成内嵌浏览器与外嵌浏览器attilax总结
  9. mysql 分页 pageindex_mysql 超1亿数据,优化分页查询
  10. ubuntu安装包常用下载地址
  11. 过程FMEA步骤四:失效分析(一)
  12. 混合柯西变异和均匀分布的蝗虫优化算法-附代码
  13. destoon ajax调用,destoon if else 的常见使用方法
  14. 2021年“全球乳业20强”榜单发布;全新版希尔顿花园酒店计划2025前在中国开业超200家 | 美通社头条...
  15. Animate.css的使用(基本使用附css文件下载地址)
  16. 编码解码问题.decode(encoding='gbk', errors='ignore')
  17. Vulnhub 靶机 Stapler write up samba+wp advanced-video ->mysql 密码 连接 john解密 登录后台 wp插件getshell sudo提权
  18. [Nginx]Ngnix基础
  19. 各种中文乱码解决大全
  20. 杰力科创蓝牙音箱芯片——DLT8P65SA

热门文章

  1. Error creating bean with name 'serverEndpointExporter' defined in class......
  2. 解决veeam one 数据库满/迁移 收缩veeam one数据库
  3. 当心!浏览网页也会中木马
  4. TCS3200颜色传感器测试实验
  5. 来一个阿里妈妈字体图标的简单说明书吧
  6. 初中高中全部化学方程式
  7. android+siri人工智能语言软件,苹果系统新增翻译功能,网友惊呼人工智能太强大...
  8. 傅里叶变换尺度变换性质_ENVI基础操作——傅里叶变换
  9. 利用Burpsuite抓包拦截篡改网页
  10. 条件随机场实现命名实体识别