python中seek函数_Python seek()函数
"""
注:在windows中,換行符是\r\n,為2個字符,而在linux中,換行符是\n,為1個字符
f.seek(offset,whence)
offset:偏移量,即偏移(略過)多少個字符開始讀取,默認為0
whence:0-->從頭開始讀取,1-->當前位置繼續讀取,2-->末尾開始讀取
為方便顯示文件換行符,嘗試用notepad打開,視圖-->顯示符號-->顯示所有符號
另:
當查閱不到文檔時,嘗試:help(obj.attribute)
"""
with open('4.緩沖區.py.txt', 'r', encoding='utf-8') as f:
# print(f.tell()) # 0
# line = f.readline()
# print(repr(line), len(line)) # 'hello world!\n' 13
# f.seek(1)
# print(f.tell()) # 1
# line = f.readline()
# print(repr(line), len(line)) # 'ello world!\n' 12
# 按理來說,一行13個字符,偏移(略過)13個后應該讀取第二行內容,實際結果卻是:'\n'
# 為何?hello world!共12個字符,換行符為\r\n
# 讀取到\r時,被認為是一行,共13個字符
# 故偏移13個字符再次讀取到的是'\n'
# windows中,應該偏移len()+1個字符才能讀取到下一行內容
# f.seek(13, 0)
# print(f.tell()) # 13
# line = f.readline()
# print(repr(line), len(line)) # '\n' 1
# 2行,1行12個,2行24個,加\r\n,共26個字符
# 當文件指針已經在EOF(文件末尾處),則將讀取''
# f.seek(0, 2)
# print(f.tell()) # 26
# line = f.readline()
# print(repr(line), len(line)) # '' 0
# Python3中,當whence=2時,offset必須為0,正負數都不行
f.seek(-10, 2)
總結
以上是生活随笔為你收集整理的python中seek函数_Python seek()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微博只显示来自android,修改手机发
- 下一篇: websocket python爬虫_p