字符串 含义
r 表示读取
w 表示写入,文件必须存在,会覆盖原有内容
x 表示写入,如果文件不存在,就会创建
a 表示打开文件并写入,如果文件已存在,就会把新的内容加入此文件原有内容的后面,不会换行
b 表示以二进制的方式打开,可以和读写命令公用
t 表示文本方式,默认就是文本方式
+ 以读写方式打开文件,一般用于更新文件
U 通用的换行模式(弃用)
# 使用seek对文件进行定位读取
file = open('test.txt', 'r')
content = file.read()
print(content)
print('-' * 30)
content = file.read()
print('第二次显示的内容是%s' % content)
# 第二次不显示内容
'''
第二次不读取内容的原因是:
第一次read()函数调用的时候会调用到文件的指针,文件指针又叫做文件的游标
当我们打开test.txt文件的时候,实际上通过这个文件的指针进行调用,文件指针是定位文件内容的字节,
也就是说如果指针是1的话就表示一个字节内容,如果指针是3的话就表示三个字节内容
read()函数当第一次调用的时候,就会通过文件指针把文件内容从头到尾都调用完,那么当第二次通过read()函数调用相同文件的时候,
指针已经被第一次执行的read()调用完,所以第二次没有办法去调用有用的文件指针,所以内容是空的
'''
print('-'*30)
file = open('test.txt','r')
content = file.read(1)#1表示文件指针,也就是调用一个字节,调用的时候从文件开头开始
print(content)
content = file.read(2)#2表示的是两个字节内容,
print(content)
print('-'*30)
#使用seek定义指针
file = open('test.txt')
content = file.read()
print(content)
print('-'*30)
a = file.seek(0,0)
content = file.read()
print(content)
# seek 语法
# seek(offset,whence)
# offset:便宜量,表示的是当前文件指针所指向的位置
# whence:
# 0:表示文件开头 1:表示文件的当前位置 2:文件末尾