python文本文件在r模式下的意外读取/写入行为
发布时间:2020-05-24 22:16:45 所属栏目:Python 来源:互联网
导读:我试图通过将其打开为r模式来在python文本文件中执行读取和写入操作.但是,不管我在执行写操作(例如fo.write(“ random”))之前读取了多少个字符(例如fo.read(5)),都会在文本末尾写入/附加文本.文件.fo = open(C:/Users/Dell/Desktop/files/new.txt,r+) fo.rea
|
我试图通过将其打开为r模式来在python文本文件中执行读取和写入操作.但是,不管我在执行写操作(例如’fo.write(“ random”)’)之前读取了多少个字符(例如’fo.read(5)’),都会在文本末尾写入/附加文本.文件.
我希望正在写入的文本(在此示例中为“ random”)将向前写入第6个字符,但会在文本文件的末尾写入/附加.对此行为的可能解释是什么? 最佳答案 这肯定看起来像个错误. 一种解决方法是在编写之前明确查找当前文件位置:
编辑:正如@Blckknght所指出的,这是一个已知问题,其根源是Windows的C级实现.您可以参考Beginner Python: Reading and writing to the same file进行参考和讨论,尽管该链接的问题与Python 2有关,在Python 2中,同一代码的行为不同(写操作不执行任何操作或产生OSError). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
