目录:
———————————————————————————————————————————
一.文件操作介绍
二.文件的读取
三.文件的写操作
———————————————————————————————————————————
一.文件操作介绍:
文件操作分为‘读’和‘写’,通俗得说就是上传和保存。
这里的‘文件’在Python中既可以是文件名,也可以是一个路径。要通过
open(file, mode, buffing, encodeing) 函数来实现这些操作。
file : 文件名或者路径 注意:如果在pycharm同级目录里面的文件就可以直接填文件名,否则就得填路径
mode(操作模式): r(读) w(写)
rb(读 二进制) wb(写 二进制) 注意:mode默认情况下就是读文本文件的内容
r:(read)读-----\
---------> 这两个用于纯文本文件
w: (write)写-----/
rb:二进制的读 -----\
---------> 这两个用于纯文本文件,图片,音乐,电影
wb:二进制的写 -----/
———————————————————————————————————————————
二.文件的读取:
open(path/filename,’rt‘) -------> stream(返回值)
变量名 = stream.read() --------> 读取其内容
如果文件是图片,mode必必须是’rb‘
例子:
# 文件读取
stream = open(r'文件路径') # r可以表示绝对路径
container = stream.read() # 将读取的文件全部赋值
print(container)
除了普通的读取还有特殊的读取:
例子:
stream = open(r'文件路径')
result = stream.readable() # 判断是否可以读取
print(result) # 返回值为布尔类型
line = stream.readline() # 表示只将读取的文件的一行赋值
print(line)
lines = stream.readlines() # 表示将读取的文件一次性,每行内容变成元素一个个赋值在列表中
print(lines)
注意:
一个文件中已经被读取的内容就不会接着读取了
———————————————————————————————————————————
三.文件的写操作:
stream = open(r'文件路径', 'w')
当mode是’w‘时,表示写操作
write() 会将原先内容覆盖
writable()
writelines() 不会将原先内容覆盖。没有换行效果,只能自己添加\n
stream = open(r'D:\临时文件暂放\路径\flin.txt', 'a')
当mode是’a‘时,表示追加操作
write() 不覆盖原先内容,直接添加指定内容
writable()
writelines() 不会将原先内容覆盖。没有换行效果,只能自己添加\n
例子:
stream = open(r'D:\临时文件暂放\路径\flin.txt', 'w') # 查找文件位置
s = '''
你好!
欢迎来到内林西餐厅,送您一份牛排
'''
result = stream.write(s) # 文件flin已经被改变,原文件内容会被先清除,再写入。
print(result)
result1 = stream.writable() # 判断是否可以写入内容,返回值是布尔类型
print(result1)
lines = stream.writelines(['主厨小福贵\n', '下手小李公公\n', '客人老佛爷\n']) # 添加指定内容在文件的内容后面,但里面的参数必须是列表类型
打开该文件后:
你好!
欢迎来到内林西餐厅,送您一份牛排
主厨小福贵
下手小李公公
客人老佛爷
注意:
如果在进行写的操作是,文件名不存在,它会自动创建一个文件