Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การระบุตำแหน่งไฟล์ (Locating File Positions) ใน Python

เมธอด tell() บอกตำแหน่งปัจจุบันภายในไฟล์ กล่าวคือ การอ่านหรือเขียนครั้งต่อไปจะเกิดขึ้นที่จำนวนไบต์นั้นจากจุดเริ่มต้นของไฟล์

เมธอด seek(offset[, from]) เปลี่ยนตำแหน่งไฟล์ปัจจุบัน อาร์กิวเมนต์ offset ระบุจำนวนไบต์ที่จะย้าย อาร์กิวเมนต์ from ระบุตำแหน่งอ้างอิงที่จะย้ายไบต์จากที่นั่น

ถ้า from ตั้งเป็น 0 หมายถึงใช้จุดเริ่มต้นของไฟล์เป็นตำแหน่งอ้างอิง และ 1 หมายถึงใช้ตำแหน่งปัจจุบันเป็นตำแหน่งอ้างอิง และถ้าตั้งเป็น 2 แล้วจุดสิ้นสุดของไฟล์จะถูกใช้เป็นตำแหน่งอ้างอิง

ตัวอย่าง

ลองใช้ไฟล์ foo.txt ซึ่งเราสร้างไว้ข้างต้น

#!/usr/bin/python
# เปิดไฟล์
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str
# ตรวจสอบตำแหน่งปัจจุบัน
position = fo.tell()
print "Current file position : ", position
# ย้าย pointer กลับจุดเริ่มต้นอีกครั้ง
position = fo.seek(0, 0)
str = fo.read(10)
print "Again read String is : ", str
# ปิดไฟล์ที่เปิด
fo.close()

ผลลัพธ์ดังนี้:

Read String is : Python is
Current file position : 10
Again read String is : Python is