IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 编码格式介绍 python文件的读写原理 文件读写操作 文件对象常用的方法 常用的文件打开方式 with语句 目录操作 -> 正文阅读

[Python知识库]编码格式介绍 python文件的读写原理 文件读写操作 文件对象常用的方法 常用的文件打开方式 with语句 目录操作

编码格式介绍

1、常见的字符编码格式
(1)python的解释器使用的时Unicode(内存)
(2).py文件在磁盘上使用UTF-8存储(外存)
在这里插入图片描述

文件的读写原理

(1)文件的读写俗称“IO操作”
(2)文件读写操作流程
(3)操作原理
在这里插入图片描述

文件读写操作

(1)内置函数open()创建文件对象
在这里插入图片描述

(2)语法规则
在这里插入图片描述

file = open('a.txt','r')
print(file.readlines())
file.close()

文件对象常用的方法

在这里插入图片描述

#1
file=open('a.txt','r',encoding="UTF-8")#加上encoding="UTF-8"可以读取文本中的中文
print(file.read(2))#
#坚持好好学习
#2
file=open('a.txt','r',encoding="UTF-8")#加上encoding="UTF-8"可以读取文本中的中文
print(file.readline())#读取一行的内容
#3
file=open('a.txt','r',encoding="UTF-8")#加上encoding="UTF-8"可以读取文本中的中文
print(file.readlines())
#4
file=open('a.txt','a',encoding="UTF-8")#加上encoding="UTF-8"可以读取文本中的中文
file.write('hello')
file.close()
#5
file=open('b.txt','r')
file.seek(4)
print(file.read())
print(file.tell())
file.close()

常用的文件打开方式

文件的类型,按照文件中数据的组织形式,文件分为以下两大类
(1)文本文件:存储的时普通“字符”文本,默认为unicode字符集,可以使用记事本程序打开
(2)二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开,举例:mp3音频文件,jpg图片,.doc文档等
(3)r,以只读模式打开文件,文件的指针将会放在文件的开头
(4)w,以只写的模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头
(5)a,以追加模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在源文件末尾
(6)b,以二进制的方式打开文件,不能单独使用,需要与共它模式一起使用,rb,或者wb
(7)+,以读写方式打开文件,不能单独使用,需要与其它模式一样使用,a+

with语句(上下文管理器)

with语句可以自动管理上下文资源,不论什么原因跳出with快,都能确保文件正确的关闭,以此来达到释放资源的目的

with open('a.txt','r',encoding='UTF-8') as file:
    print(file.read())#不用写close,会自动关闭

目录操作

(1)os模块是python内置的与操作系统功能和文件系统相关的模块,该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不太一样。
(2)os模块与os.path模块用于对目录或文件进行操作

#坚持好好学习
#os模块与操作系统相关的模块
import os
os.system('notepad.exe')#打开记事本
os.system('calc.exe')#打开计算器
#直接调用可执行文件
#打开QQ
os.startfile('"C:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQScLauncher.exe"')

在这里插入图片描述

import os
print(os.getcwd())#返回当前的工作目录
import os
#返回指定路径下的文件和目录信息
lst=os.listdir('../chap14')#['a.txt', 'b.txt', 'demo1.py', 'demo2.py', 'demo3.py', 'demo4.py', 'demo5.py',
print(lst)
#创建目录
os.mkdir('newdir')
#创建多级目录
os.makedirs('A/B/C')

在这里插入图片描述

#删除目录
os.rmdir('newdir')
#移除多级目录
os.removedirs('A/B/C')
#将path设置当前目录
os.chdir('C:\\chap14')

3、os.path模块操作目录相关函数
在这里插入图片描述

import os.path
#获取文件或目录的绝对路径
print(os.path.abspath('demo9.py'))
#用于判断文件或目录是否存在
print(os.path.exists('demo8.py'),os.path.exists('demo22.py'))
#建目录与奴鲁或者文件名拼接起来
print(os.path.join('C:\\PYTHON','demo8.py')) #C:\PYTHON\demo8.py
#分离文件名与扩展名
#拆分文件与目录
print(os.path.split('demo8.py'))#('', 'demo8.py')
#拆分文件和后缀名
print(os.path.splitext('demo8.py'))#('demo8', '.py')
#从一个目录中提取文件名
print(os.path.basename('D:\\pycharn\\venv\\chap14\\demo8.py'))#demo8.py
#从一个路径中提取文件路径,不包括文件名
print(os.path.dirname('D:\\pycharn\\venv\\chap14\\demo8.py'))#D:\pycharn\venv\chap14
#用于判断是否为路径
print(os.path.isdir('D:\\pycharn\\venv\\chap14\\demo8.py'))#False 是文件
#列出指定目录下的所有py文件
import os
path = os.getcwd()
lst = os.listdir(path)
for filename in lst:
    if filename.endswith('.py'):
        print(filename)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:23:48  更:2021-07-24 11:24:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:54:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计