文件的读写
1.读取文件
读取一个文件,需要使用open()
函数并传入文件路径和模式。
-
文件路径分为绝对路径和相对路径
绝对路径是从文件系统的根目录开始指定的路径。例如:D:\guanangang\file.txt
相对路径是相对于当前工作目录的路径。假如我们现在在D:那么文件file.txt的相对路径就是guanangang\file.txt
-
第二个参数“打开方式”(就是上面提到的模式)是可选参数,表示打开文件后的操作方式。
文件使用方式 | 含义 |
---|---|
r / rt | 打开一个文本文件,只允许读数据 |
w / wt | 打开或者建立一个文本文件,只允许写数据 |
at / a | 打开一个文本文件,并在文件末尾写数据 |
rb | 打开一个二进制文件,只允许读数据 |
wb | 打开或建立一个二进制文件,值允许写数据 |
ab | 打开一个二进制文件,并在文件末尾写数据 |
rt+ / r+ | 打开一个文本文件,允许读和写 |
wt+ / w+ | 打开或建立一个文本文件,允许读和写 |
at+ / a+ | 打开一个文本文件,允许读,或在文件末尾追加数据 |
rb+ | 打开一个二进制文件,允许读和写 |
wb+ | 打开或建立一个二进制文件,允许读和写 |
ab+ | 打开一个二进制文件,允许读,或在文件末尾追加数据 |
使用open()
函数打开一个名为GaGa.txt
的文件,并将其赋值给变量f
。我们使用'r'
模式表示读取模式,并使用read()
和readlines()
方法还有readline()
方法读取文件中的数据
# 假设我们现在的这个py文件和GaGa.txt在同一个文件目录下
# 这里用的路径是相对路径
# mode就是上文提到的打开方式
# encoding是文件的编码格式,有utf-8,GBK等等
with open('GaGa.txt', mode='r', encoding='utf=8') as f:
f.read() # 读取文件的所有内容
f.readlines() # 一次读取多行,返回一个列表,每一行内容以字符串的形式作为列表的每一个元素
f.readline() #一次读取一行,读取后光标移动到下一行的开始
2.文件写入
使用open()
函数打开一个名为GaGa.txt
的文件,并将其赋值给变量f
。mode
可以省略,但是打开方式一般不会省略,我们使用'w'
模式表示写入模式,这种模式会覆盖原来的数据进行写入。使用write()
和writeline()
方法向文件中写入数据
with open('GaGa.txt', 'w') as f:
f.write('Hello, world!') # 一次性写入,写入的内容为字符串
f.writelines(['1','2']) # 一行一行的写入,写入的内容为列表
其中'a'
模式表示追加模式,这种模式只会文件的末尾写入数据。