python - f.seek() 在 python 中读取额外的换行符或空格
问题描述
with open("text.txt", "r") as f:
print(f.tell()) # output : 0
print(f.read(1)) # output : A
f.seek(1)
print(f.read(1)) # output : B
f.seek(5)
print(f.read(1)) # output : D
f.seek(14)
print(f.read(1)) # output : ?????
f.seek(15)
print(f.read(1)) # output : J
文本.txt
ABC
DEF
GHI
JKL
输出
0
A
B
D
J
我无法理解f.read(1)
for 的输出f.seek(14)
,f.seek(15)
因为我期待K
和L
它似乎在一个之上,在and之间生成了\n
额外的\n
or ,而在and之间没有生成space
F
G
I
J
C
D
那么为什么输出是这样的,发生了什么?
解决方案
你注意到\n
在你的每个之前都有一个空格text.txt
吗?如果删除空格,结果将是
0
A
B
E
L
已编辑:您可能还想检查换行符是\r\n
(在 Windows 中)还是\n
. 如果换行符是\r\n
,您也会得到错误的结果。
推荐阅读
- cmake - 找到 CMake find_package 但无法链接到库
- python - 如何创建新的子列表列表?
- git - 如何在 github chmod=+x 中制作上传文件?然后使用 wget 命令下载文件,保留 github 模式下的可执行文件集?
- spring - Spring Data MongoRepository 保存具有不同字段数的对象
- python - 在 Python 中查找不重叠的子矩阵
- r - 为什么使用 st_intersection 而不是 st_intersects?
- quickfixn - QuickFIX/n 不支持的消息类型
- python - python3中的递归和闭包
- android - xml 设计中的预览未完全显示
- android - Flutter url启动器无法在发布apk上发送标头