代码语言:javascript复制
# 文件操作
"""
Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。
1、想要操作一个文件必须先建立一个文件对象,使用相关的方法才可以调用它进行读写。
2、建立文件对象时,必须设置文件的模式
3、同一时刻只能有一个进程对文件进行操作
4、文件操作流程,打开文件,操作文件,关闭文件
"""
# 示例中的演示文件需要创建,内容随意
# 下面操作会修改演示文件
"""文件模式
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r 打开一个文件用于读写。文件指针将会放在文件的开头。
rb 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
"""
# 演示文件操作流程
# 文件读操作
# 建立文件对象,以只读模式打开
file = open('演示文件', 'r', encoding='utf8')
# 进行读操作,并打印读取内容
"""
1、read可以指定具体取多少字符,默认全取。
2、read有文件指针,只能一直往前取值,不能后退
3、下面的例子中,我们先取前5个字符,在取全部字符。在取全部字符时不会在去取前5个字符(因为文件指针只能向前,取出过的字符不会再取)
"""
print(file.read(5))
print(file.read())
# 关闭文件,文件操作完成后必须关闭
file.close()
# 文件写操作
# 建立文件对象,以只写模式打开
file = open('演示文件', 'w', encoding='utf8')
# 进行写操作
"""
1、写操作会在创建文件对象时(open('演示文件', 'w', encoding='gbk'))清空文件内容,所以无论是否写入内容都会被清空,写操作本身并不会清空数据。
2、连续写入操作,会在内容后继续追加(文件指针),并不会换行,可以使用n换行。
"""
file.write('abc')
file.write('n def n')
file.write('ghi')
# 关闭文件,文件操作完毕后必须关闭
file.close()
# 文件追加操作
# 建立文件对象,以追加模式打开
file = open('演示文件', 'a', encoding='utf8')
# 进行追加操作
"""
1、以追加模式打开(不会清空文件内容),如果该文件已存在,文件指针将会放在文件的结尾(也就是说新的内容会在结尾添加)。
2、追加操作也不会换行,可以使用n换行。
"""
file.write('abc')
file.write('n def n')
file.write('ghi')
# 关闭文件,文件操作完毕后必须关闭
file.close()