Shimmer666 发表于 2023-8-11 21:29

Python文件读写操作——指针问题

本帖最后由 Shimmer666 于 2023-8-11 22:18 编辑

学生,暑假复习Python。在复习对文件读写的时候遇到这页PPT:
然后我自己写了代码发现指针指向的位置和PPT上面并不同,求解惑!谢谢。
content = '''hello world
this is a test'''
print(len(content))

with open('test.txt', 'w') as f:
    f.write(content)

with open('test.txt', 'r') as f:
    print(f.tell())# 0
    f.readline()
    print(f.tell())# 13
    f.readline()
    print(f.tell())# 27

hrh123 发表于 2023-8-11 22:09

上面正解,应该就是换行符的问题

tfrist 发表于 2023-8-12 00:30

本帖最后由 tfrist 于 2023-8-12 00:32 编辑

这是Windows和Unix/Linux 换行符的问题。

Windows上一个回车是连个字符 "\r\n", 而Unix/Linux上只有一个 "\n".

在Windows:
''hello world\r\n
this is a test''

在Linux 上是:
''hello world\n
this is a test''


这个跟用Python也没有关系,用C, C++, Java等其他编程语言同样有这个的问题!

a447394943 发表于 2023-8-12 01:10

本帖最后由 a447394943 于 2023-8-12 01:11 编辑

同意楼上 先试一试换行符

whlee 发表于 2023-8-12 06:02

如果在行头或行尾有未知符号问题,可以用strip清除一下,或用replace清除下行中的数据。

asd124689 发表于 2023-8-12 07:16

都是大神

wan456 发表于 2023-8-12 08:46

语言模型中换行不同导致的文件差异

rabit331 发表于 2023-8-12 09:07

来学习了,好久不研究这东西了。

liuganglove2018 发表于 2023-8-12 10:12

原来是解释环境的问题,受教了
页: [1]
查看完整版本: Python文件读写操作——指针问题