1. 打开关闭文件
1.1 打开文件
你必须先用Python内置的open()函数打开一个文件,调用相关的方法才可以对它进行读写。
# file_name:file_name变量是一个包含了你要访问的文件名称的字符串值
# access_mode:access_mode决定了打开文件的模式:只读,写入,追加等,这个参数是非强制的,默认文件访问模式为只读(r)
# buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。
steam = open(file_name, access_mode, buffering)
access_mode包含以下几种模式:
1.2 关闭文件
使用close()
close()方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError错误。
close() 方法允许调用多次。当 file 对象,被引用到操作另外一个文件时,Python会自动关闭之前的file对象。
steam = open(file_name, access_mode, buffering)
...
steam.close()
使用with-as
使用with-as打开文件时,可以不用写close(),系统会自动关闭文件
# 相当于:rsteam = open('aa.txt','rb')
with open('aa.txt','rb') as rsteam:
container = rsteam.read()
with open("tt.txt",'wb') as wsteam:
wsteam.write(container)
2. 读取文件
2.1 读取文件方法:r
- read([size]): 从文件读取指定的字节数,如果未给定或为负则读取所有。
- readline([size]): 读取整行,包括 “\n” 字符。
- readlines([sizeint]): 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节。
- readable(): 判断文件是否可读。
steam = open("aa.txt")
result1 = steam.read()
result2 = steam.readable()
# 使用readlines()时要注意:若前面已经使用了read(),则读取返回值为空
result3 = steam.readline()
# 返回的result4是个列表
result4 = steam.readlines()
print(result1)
print(result2)
print(result3)
print(result4)
3. 文件的写入
3.1 写入文件方法一:w
- write(str): 将字符串写入文件,每次写入都会将原来内容清空,然后写入当前内容。
- writelines(sequence): 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
- writeable(): 判断文件是否可写。
steam = open("aa.txt",'w')
str = """
你好!
我是Python"""
list1 = ["123",'3','56','1']
result1 = steam.write(str)
result2 = steam.writelines(list1)
result3 = steam.writable()
print(result1) #17
print(result2) #None
print(result3) #True
3.2 写入文件方法二:a
使用’a’模式进行写入时,可以从原文件的内容之上追加新的内容
同样可以使用write()、writelines()、writeable()函数