# 读写文件:read, write
# 打开文件:打开文件的方式:以读的形式打开还是以写的形式打开
# 读和写的时候也有两种方式:以文本的方式还是以二进制的方式
# 注意:无论如何 处理完成文件都要关闭文件
open用法:
def open(file, mode='r', buffering=None,
encoding=None, errors=None, newline=None, closefd=True):
file = open(path, mode ='r', buffering = -1, encoding = None)
path为文件路径
mode为读取模式,默认为r,及只读模式。
buffering为缓冲区,由于内存的只读速度快于外设,所以大部分情况不用设,即不大于0。
encoding为编码方式
mode包括以下几种
“r”打开读取(默认)
“w”打开写入,首先截断文件
“x”创建一个新文件并打开它进行写入
“a”打开进行写入,如果存在,则附加到文件的末尾
“b”二进制模式
“t”文本模式(默认)
“+”打开磁盘文件进行更新(读取和写入)
“U”通用换行模式(已弃用)
with...as 表达式:
with open('TEXT.txt', encoding='utf-8') as f:
print(f.read())
f.close()
read和readline和readlines的区别:
read()方法适用于读取小文件,而readline()和readlines()方法适用于读取大文件,
#因为它们可以一
read: read()方法用于读取整个文件。它将文件中的所有内容读取到一个字符串中,
# 并返回该字符串。如果没有指定参数,则默认读取整个文件。
读取一行或多行,而不是将整个文件读入内存。
filu = open('TEXT.txt', encoding='utf-8')
print(filu.read())
filu.close()
readline: readline()方法用于读取文件的一行。它读取文件中的一行,
# 并返回该行的字符串。如果没有指定参数,则默认读取第一行。
filu = open('TEXT.txt', encoding='utf-8')
readline = filu.readline()
print(readline)
filu.close()
readlines: readlines()方法用于读取整个文件,并将每一行作为一个元素存储在一个列表中。
# 它返回一个包含文件中所有行的列表。
filu = open('TEXT.txt', encoding='utf-8')
print(filu.readlines(7))
filu.close()
在Python中,write、writable和writables都与文件操作相关,但它们的含义和用法略有不同。
#write:是文件对象的一个方法,用于将数据写入文件。语法为:file.write(str),其中str为要写入文件的字符串。
file = open("TEXT.txt", "w", encoding='utf-8')
print(file.write("我爱你"))
file.close()
writable:是文件对象的一个属性,用于判断文件是否可写。如果文件可写,则返回True;否则返回False。
file = open("TEXT.txt", "r", encoding='utf-8')
print(file.writable()) # False
file.close()
file = open("TEXT.txt", "w", encoding='utf-8')
print(file.writable()) # True
file.close()
writables:是文件对象的一个方法,用于将多个字符串写入文件。
# 语法为:file.writelines(sequence),其中sequence为一个字符串序列。
file = open("TEXT.txt", "w", encoding='utf-8')
file.writelines(["Hello, ", "world!"])
file.close()
综上所述,write用于写入单个字符串,writable用于判断文件是否可写,writables用于写入多个。