# _*_ coding:UTF-8 _*_
#open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
# 打开文件
pfile=open("C:/Users/jfan/Desktop/no_1.txt",mode='r+',encoding='utf-8')
#read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有:
# 读所有数据
#print(pfile.read())
#读取100字节数据
#print(pfile.read(100))
#readline():方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。
#读取一行数据
#print(pfile.readline())
#readlines():方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。
# 如果碰到结束符 EOF 则返回空字符串。
#读取多行数据
#print(pfile.readlines(1))
#seek():方法用于移动文件读取指针到指定位置
#offset -- 开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始。
#whence:可选,默认值为 0。给 offset 定义一个参数,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,
# 1 代表从当前位置开始算起,2 代表从文件末尾算起。
print(pfile.seek(5),pfile.read(1))
#tell(): 方法返回文件的当前位置,即文件指针当前位置。
print(pfile.tell())
#fileno():方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。
print("file_name:",pfile.name,'\n',"file_id:",pfile.fileno())
#write() 方法用于向文件中写入指定字符串。
#在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。
#pfile.write("777777") #写完后,文件指针在最后了
#pfile.seek(0,0)
#print(pfile.read())
#writelines() 方法用于向文件中写入一序列的字符串。
#这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 \n。
pfile.writelines(["\njason\n","yaya\n","oo_oo"])
pfile.seek(0,0)
pfile.flush()
print(pfile.read())
pfile.close()