一、python文件操作
1、对文件操作流程**1.1、文件名(或者是文件的绝对路径)
1.2、操作权限(r读、w写、b以二进制的方式打开、a追加写入)
2、文件对象f.常用的操作方法**
read() 把文件的所有内容都读取出来,返回一个字符串
write(data) 把字符串data写入到文件中,只接受字符串参数 data=”test”
readline 按行读取文件,调用一次读取一行。
readlines 读取整个文件按行返回到list中。
name() 文件名字
fileno() 文件描述符
close() 关闭文件
encoding() 文件编码
closed() 判断文件是否关闭(返回bool值:True或False)
seek(offset,whence) offset偏移量(正数向后偏移,负数向前偏移) ;whence(0开头 1现在位置 2结尾)
tell() 返回文件光标位置
truncate(size) 有写权限可以使用,清空文件,size表示清空到什么位置,0位清空所有,例如:truncate(1) 保留1位
3、实例操作
3.1读取文件内容: ps:读取的文件必须存在。
f1 = open("1.txt", "r")
print(f1.read())
f1.close()
读的文件:
例2:写入文件内容
f2 = open("1.log", "w",encoding='utf-8')
f2.write("hello world\n123\n你好\n小白")
f2.close()
注意:写入文件内容(存在中文字符):
存在中文字符时,需要在后面加上encoding=”utf-8” 指定编码类型,否则会显示为乱码。
为了日后维护代码修改方便,可以使用全局申明:
注意:全局申明要使用的所有字母都必须大写
ENCODEING = "utf-8"
f = open("3.txt","w",encoding=ENCODEING)
f.write("\n学好py")
f.close()
输出结果
例3:追加写入文件内容:
f = open("3.txt","a")
f.write("\nwork hard"))
f.close()
readline和readlines用法的区别:
readline 按行读取文件,调用一次读取一行。
readlines 读取整个文件按行返回到list中。
文件的内容:
#readline() 用法 :按行读取文件,调用一次读取一行。
f = open("3.txt","r",encoding=ENCODEING)
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
f.close()
#readlines() 用法 :读取整个文件按行返回到list中。
f = open("3.txt","r",encoding=ENCODEING) print(f.readlines()) f.close()
例4:使用for循环使用readlines打印每行字符串数据,enumerate打印行号;实现如readline每次只读一行数据的效果:
f = open("3.txt", "r", encoding=ENCODEING)
for i,line in enumerate(f.readlines()):
print("第{0}行内容: {1}".format(i,line))
f.close()