文件的指针位置

简介: f = open('指针测试.txt','a+',encoding='utf-8') # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b的区别# tell() 显示文件指针print(f.
f = open('指针测试.txt','a+',encoding='utf-8')  # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b的区别
# tell() 显示文件指针
print(f.tell())

# 更改文件指针的位置  seek(偏移量,whence)
# 偏移量是数字,距离whence字符数
# whence:0:文件开头 1:当前位置 2:文件结尾  seek(10,0)  # 可能只有rb或者rb+的时候偏移量才能是负数,也就是倒着数,这里笔者没有具体测试
# f.seek(4,0)
# print(f.read())
# f.seek(0,0)
# f.write('aaaaa\nbbbbb\nccccc\nddddd\n')
# f.seek(4,0)
f.seek(0, 0)
print(f.read())
print('='*10)
# aaaaa\r\nbbbbb,这串数字从第五,第六个位置打印后两位是一样的
f.seek(6, 0)                               # seek 移动鼠标位置(位数)包含\r\n,读取时(位数)不包含\r
print(f.read(2))      # 本来是光标移动到开始0,打印光标后七个的最后一个,和光标移动到第六个,打印后一个是一样的
print('-'*10)         # 第六个位置是\r,第七个位置是\n,所以读七个不包括\r,会打出来b,移动六个,打印后一个则不是b
f.seek(5, 0)          # 可是光标的移动是包括\r\n的,多一位,所以结果会不同
print(f.read(2))

f.close()

# 补充以下系统换行时所占字节位数
# windows  \r\n  \r表示回行首 \n换行
# unix/linux  \n
# mac  \r
# 这里的‘指针测试.txt’文件里的内容如下:
# aaaaa
# bbbbb
# ccccc
# ddddd

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
6月前
|
存储 C语言
文件的类型指针
文件的类型指针
61 0
|
3月前
|
C++
C++通过文件指针获取文件大小
C++通过文件指针获取文件大小
31 0
|
5月前
|
C++
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
|
5月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
49 0
|
6月前
|
存储 编译器 C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(下)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
48 0
|
6月前
|
C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(中)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
67 0
|
6月前
|
存储 数据库 C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(上)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
51 0
|
6月前
|
Unix Linux API
Linux文件描述符和文件指针互转
文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。FILE *指针变量标识符;其中FILE应为大写,它实际上是由系统定义的一个结构,该结构中含有文件名、文件状态和文件当前位置等信息。在编写源程序时不必关心FILE结构的细节。
59 0
|
C++ iOS开发
C++移动和获取文件读写指针
在读写文件时,有时希望直接跳到文件中的某处开始读写,这就需要先将文件的读写指针指向该处,然后再进行读写。 ifstream 类和 fstream 类有 seekg 成员函数,可以设置文件读指针的位置; ofstream 类和 fstream 类有 seekp 成员函数,可以设置文件写指针的位置。 所谓“位置”,就是指距离文件开头有多少个字节。文件开头的位置是 0。 这两个函数的原型如下: ostream & seekp (int offset, int mode); istream & seekg (int offset, int mode); mode 代表文件读写指针的设置模
168 1
|
存储 XML JSON
【100天精通python】Day26:文件和IO操作_文件指针的定位与移动,序列化与反序列化
【100天精通python】Day26:文件和IO操作_文件指针的定位与移动,序列化与反序列化
72 0