无字天书之Python第十页(基本文件操作)
博客目标
- 传送门
- 绝对路径和相对路径
- 打开文件
- 编码格式
- OS模块
传送门
无字天书之Python第一页
无字天书之Python第二页
无字天书之Python第三页
无字天书之Python第四页
无字天书之Python第五页
无字天书之Python第六页
无字天书之Python第七页
无字天书之Python第八页
无字天书之Python第九页
绝对路径和相对路径
在介绍文件操作之前,我们先介绍两个概念,绝对路径和相对路径。
先百度下看下百度的解释:
- 绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。完整的描述文件位置的路径就是绝对路径。
- 相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
打开文件
Python 为我们提供了打开文件的内置函数 open() 。
常用语法:open(file, mode=‘r’)
完整语法:open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding:一般使用 utf-8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
mode 参数常用值:
模式 | 描述 |
---|---|
t | 文本模式 (默认)。 |
x | 写模式,新建一个文件,如果该文件已存在则会报错。 |
b | 二进制模式。 |
+ | 打开一个文件进行更新(可读可写)。 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
r | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
w | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
上代码:
str1= open('E:/ttt.txt',mode='r').read()
print(str1)
结果:
only鑰並
编码格式
值得注意的是,在 Python3 中,文件默认的编码方式是 UTF-8 ,文本字符的常用的编码有 ASCII 和 Unicode 。
说了这么多,还是看一个示例代码吧:
# 编码格式
str2='only老K'
print(type(str2))
a=str2.encode('utf-8')
print(type(a))
print(a.decode('utf-8'))
print(a.decode('gbk'))
结果:
<class 'str'>
<class 'bytes'>
only老K
only鑰並
可以看到,我们将字符串 encode() 编码以后,类型变成了 bytes 。
OS模块
import os
os.chdir('E:/temp')
file=open('ttt.txt')
print(file.read())
结果
only鑰並TTT好好学习天天向上
写入:file.write(‘关注公众号,好好学习,天天向上’)会报错
import os
os.chdir('E:/temp')
file=open('ttt.txt',mode='a')
file.write('好好学习天天向上')
完事…中间很多问题存在,麻烦各位神仙自行百度解决问题。。。
无字天书之Python第十页(基本文件操作)相关推荐
- 趁着课余时间学点Python(十四)文件操作
文章目录 ☀️ 前言 ☀️
- 无字天书之Python第十五页(Excel表格操作)
博客内容 传送门 正文读 正文写 到此Python基础就此结束- 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天 ...
- 无字天书之Python第十四页(time和calendar模块)
博客目标 传送门 time模块 常用time模块中方法 calendar 到这里无字天书之Python基础算是快要结束了-(有可能还有下一篇基础篇操作) 感谢各路神仙的学习和陪伴... 未完待续-关注 ...
- 无字天书之Python第十二页(迭代器基础)
博客目录 传送门 迭代器 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyt ...
- 无字天书之Python第十三页(生成器基础)
博客目标 传送门 正文 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyth ...
- 无字天书之Python第十一页(异常处理)
博客目录 传送门 正文 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyth ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...
- 无字天书之Python第五页(基础运算符)
博客目标 传送门 基础运算符(六大类) 算术运算符 比较运算符 赋值运算符 并列赋值问题 逻辑运算符(三种) 成员运算符 身份运算符 函数id() 本周第二更 一支预防针打给你,全文内容较长,花点时间 ...
- 无字天书之Python第八页(基础数结构—下)
文章内容 传送门 前言 dict 简单使用 CURD 内置函数和方法讲解 set 简单使用 集合的CRUD 内置函数和方法 过年不停更之第二更... 内容比较长,耐心看耐心写,小编也不容易...... ...
最新文章
- php随机跳转,Nginx实现404页面跳转到任意随机页面
- Set_uid set_gid stick_bit 软链接 硬链接
- Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38
- 天津大学张梅山老师要招NLP方向的研究生啦!
- SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍
- Linux 命令之 uname -- 显示系统/主机的相关信息
- 发现了拯救“文献多的一团麻”的工具
- android surfaceflinger 代码,android surfaceflinger测试程序
- python创建空元组_Python——元组的基本语法(创建、访问、修改、删除)
- 动态规划 —— 背包问题 P07 —— 有依赖背包
- 一个 冒泡排序 和 选择排序 的简单c程序
- oracle12c官方文档中文版_三分钟让你真正读懂oracle12c 中cdb pdb概念及原理
- web系统整体性能测试
- 阿里实习转正面试收获总结
- 就业管理系统(Java毕业设计:SpringBoot项目)
- Unity3d-模型描边和混色Shader
- 史话上:量子物理学的前世今生
- win7如何设置wifi热点_mac如何共享网络?mac怎么建立wifi热点?
- python爬取微博用户的微博内容和图片
- 如果看完这个,你没有热血沸腾的感觉,你就不要进csdn了
热门文章
- 解决Ubuntu14.04下Chromium安装Flash播放器
- android 多界面开发,安卓开发教程(Android多界面应用程序开发)
- 文本指纹算法和系统简述
- ctfshow XSS
- Windows 10 配置Rust交叉编译Linux应用程序-musl
- c语言程序设计中国铁道出版社第二版答案,C语言程序设计答案-(陈明晰)中国铁道出版社.doc...
- 注意项目名的中英文符号
- 点歌系统服务器与单机版访问,单机版与网络版点歌系统,我该用哪种?
- java aviator_Aviator——让表达式飞起来
- C语言判断一串字符包含多少个数字大写字母和小写字母