博客目标

  • 传送门
  • 绝对路径和相对路径
  • 打开文件
    • 编码格式
  • 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第十页(基本文件操作)相关推荐

  1. 趁着课余时间学点Python(十四)文件操作

    文章目录 ☀️ 前言 ☀️

  2. 无字天书之Python第十五页(Excel表格操作)

    博客内容 传送门 正文读 正文写 到此Python基础就此结束- 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天 ...

  3. 无字天书之Python第十四页(time和calendar模块)

    博客目标 传送门 time模块 常用time模块中方法 calendar 到这里无字天书之Python基础算是快要结束了-(有可能还有下一篇基础篇操作) 感谢各路神仙的学习和陪伴... 未完待续-关注 ...

  4. 无字天书之Python第十二页(迭代器基础)

    博客目录 传送门 迭代器 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyt ...

  5. 无字天书之Python第十三页(生成器基础)

    博客目标 传送门 正文 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyth ...

  6. 无字天书之Python第十一页(异常处理)

    博客目录 传送门 正文 传送门 无字天书之Python第一页 无字天书之Python第二页 无字天书之Python第三页 无字天书之Python第四页 无字天书之Python第五页 无字天书之Pyth ...

  7. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  8. 无字天书之Python第五页(基础运算符)

    博客目标 传送门 基础运算符(六大类) 算术运算符 比较运算符 赋值运算符 并列赋值问题 逻辑运算符(三种) 成员运算符 身份运算符 函数id() 本周第二更 一支预防针打给你,全文内容较长,花点时间 ...

  9. 无字天书之Python第八页(基础数结构—下)

    文章内容 传送门 前言 dict 简单使用 CURD 内置函数和方法讲解 set 简单使用 集合的CRUD 内置函数和方法 过年不停更之第二更... 内容比较长,耐心看耐心写,小编也不容易...... ...

最新文章

  1. php随机跳转,Nginx实现404页面跳转到任意随机页面
  2. Set_uid set_gid stick_bit 软链接 硬链接
  3. Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38
  4. 天津大学张梅山老师要招NLP方向的研究生啦!
  5. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍
  6. Linux 命令之 uname -- 显示系统/主机的相关信息
  7. 发现了拯救“文献多的一团麻”的工具
  8. android surfaceflinger 代码,android surfaceflinger测试程序
  9. python创建空元组_Python——元组的基本语法(创建、访问、修改、删除)
  10. 动态规划 —— 背包问题 P07 —— 有依赖背包
  11. 一个 冒泡排序 和 选择排序 的简单c程序
  12. oracle12c官方文档中文版_三分钟让你真正读懂oracle12c 中cdb pdb概念及原理
  13. web系统整体性能测试
  14. 阿里实习转正面试收获总结
  15. 就业管理系统(Java毕业设计:SpringBoot项目)
  16. Unity3d-模型描边和混色Shader
  17. 史话上:量子物理学的前世今生
  18. win7如何设置wifi热点_mac如何共享网络?mac怎么建立wifi热点?
  19. python爬取微博用户的微博内容和图片
  20. 如果看完这个,你没有热血沸腾的感觉,你就不要进csdn了

热门文章

  1. 解决Ubuntu14.04下Chromium安装Flash播放器
  2. android 多界面开发,安卓开发教程(Android多界面应用程序开发)
  3. 文本指纹算法和系统简述
  4. ctfshow XSS
  5. Windows 10 配置Rust交叉编译Linux应用程序-musl
  6. c语言程序设计中国铁道出版社第二版答案,C语言程序设计答案-(陈明晰)中国铁道出版社.doc...
  7. 注意项目名的中英文符号
  8. 点歌系统服务器与单机版访问,单机版与网络版点歌系统,我该用哪种?
  9. java aviator_Aviator——让表达式飞起来
  10. C语言判断一串字符包含多少个数字大写字母和小写字母