Python seek()
方法用於更改文件句柄的當前位置。文件句柄就像一個游標,用於定義必須在文件中讀取或寫入的數據的位置。
語法:
fi.seek(offset, from_where), where fi is the file pointer
參數:
偏移量:用於定義向前移動的位置數。
from_where: 用於定義參考點。
注意:Python 中的 seek()
方法不返回值。
from_where 參數用於選擇參考點。它可以接受三個值:
- 0:0 值用於設置文件開頭的 what 參數。
- 1:1 值用於在文件的當前位置設置 whence 參數。
- 2:2 值用於設置文件末尾的 what 參數。
默認情況下,from_where 參數設置為 0。因此,在文本模式下,參考點不能設置為當前位置或結束位置,除非偏移量等於 0。
示例 1: (用戶必須讀取包含以下文本的文本文件:
「這是我寫的句子,展示了在 Python 中使用 seek()
方法的例子。」
fi = open("text.txt", "r")
# the second parameter of the seek method is by default 0
fi.seek(30)
# now, we will print the current position
print(fi.tell())
print(fi.readline())
fi.close()
輸出:
30
ing to show the example of the seek() method working in Python.
示例文本文件-
# let's assuming the text file has following 5 lines
# line 1: This is the sentence I am Writing to show the example of the seek()
# method working in Python.
# line 2: The line no. 2 for showing the second method of writing the seek()
# method is python
# Line 3: the line no. 3 for showing the second method
# Line 4: the line no. 4 for showing the second method
# Line 5: the line no. 5 for showing the second method
例 2:(方法 2)
fi = open ("text.txt", "r+")
print ("Name of the file: ", fi.name)
line_1 = fi.readline()
print ("Read Line: %s" % (line_1))
# Again, set the pointer to the beginning
fi.seek (0, 1)
line_2 = fi.readline()
print ("Read Line: %s" % (line_2))
# Close opend file
fi.close()
輸出:
Name of the file: text.txt
Read Line: This is the sentence I am Writing to show the example of the seek() method working in Python.
Read Line: The line no. 2 for showing the second method of writing the seek() method is python
seek()
方法也可以使用負偏移量,但只能在文件以二進位模式打開時使用。
例 3:(負偏移)
fi = open ("text.txt", "rb")
# the user is setting the reference point to thirtieth position to the left from
# end
fi.seek (-70, 2)
# now print the current position
print (fi.tell())
# now the user will Convert the binary to string
print (fi.readline().decode('utf-8'))
fi.close()
輸出:
25
Writing to show the example of the seek() method working in Python.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247412.html