Python 2.7 - 搜索方法

时间:2016-07-01 09:29:49

标签: python-2.7 seek

我正在尝试了解seek方法的功能。到目前为止,我理解寻求偏移指向文件中特定位置的指针,由whence语句指定,默认为0。

  • seek(0,0)指的是文件的开头
  • seek(0,1)指的是文件的当前位置
  • seek(0,2)指的是文件的结尾
  • seek(2,2)将指针从当前位置移动2个字节 文件。

我编写了一个程序,应该使用seek方法连续写入两个文本块。

line1 = "This is line 1"
line2 = "This is line 2"
line3 = "This is line 3"

my_file = open('NewFileName.csv', 'w')

my_file.truncate()

my_file.write("%s\n%s\n%s" % (line1, line2, line3))

my_file.seek(1)

line4 = "This is new line# 1"
line5 = "This is new line# 5"
line6 = "This is new line# 6"

my_file.write("%s\n%s\n%s" % (line4, line5, line6))

my_file.close()

但是,在第一个文本块结束后,我无法让程序在新行中写入第二个文本块(第4行 - 第6行)。

当我尝试my_file.seek(0,1)时,我的输出为

This is line 1
This is line 2
This is line 3This is new line #1
This is new line# 5
This is new line# 6

当我尝试my_file.seek(1,1)时,我正在

This is line 1
This is line 2
This is line 3This is new line #1
This is new line# 5
This is new line# 6

..看起来和上面一样。

即使我写my_file.seek(5,1),它也会提供与上面相同的输出。所以我对搜索方法实际如何工作相当困惑。

我真正想要的是让两个文本块一个接一个地写入

这是第1行 这是第2行 这是第3行 这是新的第1行 这是新的第5行 这是新的第6行

请告知我哪里出错,或者寻求甚至不是实现我想要的正确方法。我已经在网上阅读了一些这方面的文档,但仍然无法正确解决这个问题。

非常感谢

0 个答案:

没有答案