传送门
无字天书之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('好好学习天天向上')
完事…中间很多问题存在,麻烦各位神仙自行百度解决问题。。。