python3文件的读写操作
open函数:对文件进行读写操作前,先打开文件,获取文件的句柄:
注意:
1:读取文件操作时read()方法读取文件所有内容,读取出的结果为str类型
2:readlines()方法读取文件时,结果默认保存为列表当中
打开文件模式:
r:只读模式
w:只写模式【不可读,不存在,则创建;存在,则清空重写】
x:只写模式【不可读,不存在,则创建;存在,则报错】
a:追加模式【不可读,不存在,则创建;存在,则追加写入】
“+”表示可同时读写文件
r+:读写【不存在,不创建,从顶部开始写,会覆盖之前此位置的内容】
w+:读写【不存在,则创建;存在,则清空重写】
x+:读写【不存在,则创建;存在,则报错】
a+:读写【不存在,则创建;存在,则追加写入】
注:不建议用r+的方式去写入文件,会使之前的文件不完整。
使用 a+ 模式读取文件内容时,需要将指针切换到文件左上角位置即seek(0)
open函数
read()方法
#读取文件.open方法一个参数指读取的文件名,默认打开文件为:只读模式r,只能读取原文件内容,不能写内容
file = open("file2.txt")
#可以使用tell方法获取文件指针
print(file.tell())
#使seek可以移动文件指针
file.seek(2)
print(file.tell())
#指定字符读取2个字符
content = file.read(2)
print(content)
#在使用open方法读取txt的时候,操作完成后,要关闭文件
file.close()
write()方法
file = open('file3.txt','a+')
# 写入一行
file.seek(0)
file.write("tomtom")
#writelines写入多行内容,可以是一个字符串,在需要换行的地方加上\n
file.writelines("miss\nhello\npython")
print(file.readline())
#写入列表
name = ["Augus\n", 'tom']
file.writelines(name)
file.close()
withopen函数
withopen 可以同时打开多个文件,默认会关闭文件
with open('file2.txt')as a,open('file3.txt','a+') as b:
s= a.readlines()
for i in s:
b.write(i)
默认会关闭文件,不要使用close方法
读取csv文件
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)
import csv #导入模块
#打开文件
file = open('test.csv')
#读取打开的csv文件,读取了所有内容
info = csv.reader(file)
#输出后列表中的每一行是一个列表
for row in info:
print(row)
print("***********")
对CSV文件进行write操作
import csv
#以a+模式打开文件
file = open("test.csv",'a+')
a = csv.writer(file)
#写入一行内容
list1 = ['hello', 'yes','augus']
a.writerows("tom")