Python readline() วิธีการพร้อมตัวอย่าง

ความหมายของ Python อ่านไลน์เหรอ?

Python อ่านบรรทัด () เป็นวิธีไฟล์ที่ช่วยในการอ่านหนึ่งบรรทัดจากไฟล์ที่กำหนด มีการขึ้นบรรทัดใหม่ต่อท้าย (“\n”) ที่ส่วนท้ายของสตริงที่ส่งคืน

คุณยังสามารถใช้พารามิเตอร์ขนาดเพื่อให้ได้ความยาวของเส้นที่ต้องการได้ พารามิเตอร์ขนาดเป็นทางเลือก และตามค่าเริ่มต้น ระบบจะส่งคืนทั้งบรรทัด

เข้าใจการไหลของ readline() เป็นอย่างดีในภาพหน้าจอที่แสดงด้านล่าง:

คุณมีไฟล์ demo.txt และเมื่อใช้ readline() ไฟล์นั้นจะส่งคืนบรรทัดแรกจาก demo.txt


Python ReadLine
Readline ทำงานอย่างไร

ลักษณะของ Python อ่านบรรทัด ()

นี่คือลักษณะสำคัญของ Python อ่านบรรทัด:

  • Python readline() วิธีการอ่านเพียงบรรทัดเดียวจากไฟล์ที่กำหนด
  • โดยจะขึ้นบรรทัดใหม่ (“\n”) ต่อท้ายบรรทัด
  • หากคุณเปิดไฟล์ในโหมดอ่านปกติ readline() จะส่งคืนสตริงให้คุณ
  • หากคุณเปิดไฟล์ในโหมดไบนารี่ readline() จะส่งคืนออบเจ็กต์ไบนารีให้คุณ
  • คุณสามารถกำหนดขนาดเป็นอาร์กิวเมนต์ให้กับ readline() และมันจะทำให้คุณได้บรรทัดตามขนาดที่กำหนดรวมถึงการขึ้นบรรทัดใหม่ ตามค่าเริ่มต้น ขนาดจะเป็น 0 และจะส่งกลับทั้งบรรทัด

วากยสัมพันธ์

file.readline(size)

พารามิเตอร์

ขนาด: (เป็นทางเลือก) ที่นี่ คุณสามารถระบุตัวเลข ซึ่งเป็นค่าจำนวนเต็มเป็น readline() จะได้สตริงขนาดนั้น ตามค่าเริ่มต้น ค่าของขนาดคือ -1 และด้วยเหตุนี้จึงส่งคืนสตริงทั้งหมด

ค่าส่งคืน

readline() วิธีการส่งกลับบรรทัดจากไฟล์ที่กำหนด

ตัวอย่าง: หากต้องการอ่านบรรทัดแรกโดยใช้ readline()

ต่อไปนี้จะเข้าใจวิธีการอ่านบรรทัดจากไฟล์ที่กำหนดโดยใช้เมธอด readline() เราจะใช้ไฟล์ demo.txt ที่นี่เพื่ออ่านเนื้อหา

เนื้อหาไฟล์ของ demo.txt มีดังนี้:

สาธิต.txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

ต่อไปนี้เป็นขั้นตอนในการอ่านบรรทัดจากไฟล์ demo.txt

ขั้นตอน 1) ขั้นแรก ให้เปิดไฟล์โดยใช้เมธอด file open() ดังที่แสดงด้านล่าง:

myfile = open("demo.txt", "r")

open() วิธีการใช้พารามิเตอร์ตัวแรกเป็นชื่อไฟล์ และพารามิเตอร์ตัวที่สองคือโหมดในขณะที่คุณต้องการเปิด ตอนนี้เราได้ใช้ "r" ซึ่งหมายความว่าไฟล์จะเปิดในโหมดอ่าน

ขั้นตอน 2) ใช้เมธอด readline() เพื่ออ่านบรรทัดจากไฟล์ demo.txt ดังที่แสดงด้านล่าง:

myline = myfile.readline()

ขั้นตอน 3) บรรทัดที่อ่านจะถูกเก็บไว้ใน myline ให้เราพิมพ์บรรทัดนั้นเพื่อดูรายละเอียด:

print(myline)

ขั้นตอน 4) เมื่ออ่านค่าเสร็จแล้ว ให้ปิดไฟล์โดยใช้วิธี close() ดังภาพด้านล่าง

myfile.close()

รหัสทั้งหมดมีดังนี้:

myfile = open("demo.txt", "r")
myline = myfile.readline()
print(myline)
myfile.close()

Output:

Testing - FirstLine

ตัวอย่าง: การใช้อาร์กิวเมนต์ขนาดใน readline()

เราได้เห็นวิธีการอ่านทั้งบรรทัดจากไฟล์ที่กำหนดแล้ว คุณยังสามารถใช้พารามิเตอร์ขนาดเพื่อให้ได้ความยาวเส้นที่ต้องการเท่านั้น

ตัวอย่างที่ให้มามีพารามิเตอร์ขนาดที่กำหนดเป็น 10 บรรทัดแรกจะถูกดึงออกมา และจะส่งคืนบรรทัดที่มีอักขระตั้งแต่ 0 ถึง 10

เราจะใช้ไฟล์ demo.txt ที่ใช้ก่อนหน้านี้ บันทึกไฟล์ demo.txt และใช้ตำแหน่งของ demo.txt ภายในฟังก์ชัน open()

myfile = open("demo.txt", "r")
myline = myfile.readline(10)
print(myline)
myfile.close()

Output:

Testing -

ไฟล์พื้นฐาน IO ในรูปแบบ Python

ไฟล์พื้นฐาน IO ค่ะ Python การเปิดไฟล์เพื่ออ่านหรือเขียนเป็นฟังก์ชัน open() ในตัว อาร์กิวเมนต์ที่สำคัญสองข้อที่อยู่ในฟังก์ชัน open() คือพาธของไฟล์ ซึ่งเป็นสตริง และโหมดที่ระบุว่าไฟล์นั้นมีไว้เพื่อการอ่านหรือการเขียน อาร์กิวเมนต์โหมดเป็นสตริง

ไวยากรณ์:

open("file path", "mode")

ต่อไปนี้เป็นโหมดต่างๆ ที่สามารถใช้ร่วมกับเมธอด open():

โหมด Descriptไอออน
R นี่จะเป็นการเปิด () ไฟล์ในโหมดอ่าน
W การใช้ w คุณสามารถเขียนลงไฟล์ได้
a การใช้ with open() จะเปิดไฟล์ในโหมดเขียน และเนื้อหาจะถูกต่อท้ายที่ส่วนท้าย
rb โหมด rb จะเปิดไฟล์เพื่ออ่านข้อมูลไบนารี
wb โหมด wb จะเปิดไฟล์สำหรับเขียนข้อมูลไบนารี

เนื่องจากเราต้องการไฟล์สำหรับการอ่าน เราจึงจะใช้โหมดการอ่าน เช่น (r)

อ่านไฟล์ทีละบรรทัดใน Python

เมธอด readline() ช่วยในการอ่านทีละบรรทัด และส่งคืนบรรทัดแรกจากไฟล์ที่กำหนด

ที่นี่เราจะใช้ readline() เพื่ออ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนด ไฟล์ที่จะอ่านคือ demo.txt เนื้อหาของไฟล์คือ:

บันทึกไฟล์ demo.txt และใช้ตำแหน่งของ demo.txt ภายในฟังก์ชัน open()

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

การใช้ readline() ภายใน while-loop จะดูแลการอ่านบรรทัดทั้งหมดที่มีอยู่ในไฟล์ demo.txt

myfile = open("demo.txt", "r")
myline = myfile.readline()
while myline:
    print(myline)
    myline = myfile.readline()
myfile.close()   

Output:

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

จะอ่านทุกบรรทัดในไฟล์พร้อมกันได้อย่างไร?

หากต้องการอ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนด คุณสามารถใช้ได้ Python ฟังก์ชัน readline() ความพิเศษของ Python ฟังก์ชัน readlines() คือการอ่านเนื้อหาทั้งหมดจากไฟล์ที่กำหนดและบันทึกเอาต์พุตในรายการ

ฟังก์ชัน readlines() จะอ่านจนถึงจุดสิ้นสุดของไฟล์ โดยใช้ฟังก์ชัน readline() ภายในและส่งคืนรายการที่มีบรรทัดทั้งหมดที่อ่านจากไฟล์

นี่คือตัวอย่างการทำงานในการอ่านบรรทัดทั้งหมดจากไฟล์โดยใช้ readlines()

ไฟล์ที่เราจะใช้อ่านคือ test.txt เนื้อหาของไฟล์ test.txt มีดังนี้:

test.txt: บันทึกไฟล์ test.txt และใช้ตำแหน่งของ test.txt ภายในฟังก์ชัน open()

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
mylist = myfile.readlines()
print(mylist)
myfile.close()

Output:

['Line No 1\n', 'Line No 2\n', 'Line No 3\n', 'Line No 4\n', 'Line No 5']

จะอ่านไฟล์ทีละบรรทัดโดยใช้ for loop ได้อย่างไร

ต่อไปนี้เป็นขั้นตอนในการอ่านบรรทัดต่อบรรทัดจากไฟล์ที่กำหนดโดยใช้ for-loop:

ขั้นตอน 1) ขั้นแรกให้เปิดไฟล์โดยใช้ Python ฟังก์ชั่น open() ในโหมดอ่าน

ขั้นตอน 2) ฟังก์ชัน open() จะส่งคืนตัวจัดการไฟล์ ใช้ตัวจัดการไฟล์ภายใน for-loop ของคุณและอ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนดทีละบรรทัด

ขั้นตอน 3) เมื่อเสร็จแล้ว ให้ปิดตัวจัดการไฟล์โดยใช้ฟังก์ชัน close()

นี่คือตัวอย่างการทำงานของการใช้ for-loop เพื่ออ่านทีละบรรทัดจากไฟล์ที่กำหนด ไฟล์ที่เราจะใช้ที่นี่คือ test.txt

เนื้อหาของ test.txt มีดังต่อไปนี้ บันทึกไฟล์ test.txt และใช้ตำแหน่งของ test.txt ภายในฟังก์ชัน open()

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
for line in myfile:
    print(line)
myfile.close()   

Output:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

จะอ่านไฟล์ทีละบรรทัดโดยใช้ while loop ได้อย่างไร

คุณสามารถใช้การวนซ้ำ while และอ่านเนื้อหาจากไฟล์ที่กำหนดทีละบรรทัด ในการทำเช่นนั้น ขั้นแรก ให้เปิดไฟล์ในโหมดอ่านโดยใช้ฟังก์ชัน open() ตัวจัดการไฟล์ที่ส่งคืนจาก open() ใช้ภายใน ในขณะที่ –วนซ้ำ เพื่ออ่านบรรทัด

Python ฟังก์ชัน readline() ถูกใช้ภายใน while-loop เพื่ออ่านบรรทัด ในกรณีของ for-loop การวนซ้ำจะสิ้นสุดลงเมื่อพบจุดสิ้นสุดของไฟล์ แต่กรณีของ while-loop นั้นไม่เหมือนกัน และคุณต้องตรวจสอบต่อไปเพื่อดูว่าไฟล์อ่านเสร็จแล้วหรือไม่ ดังนั้นเมื่อฟังก์ชัน readline() ส่งกลับสตริงว่าง คุณสามารถใช้คำสั่งแบ่งเพื่อยุติคำสั่ง while –loop ได้

นี่คือตัวอย่างการทำงานในการอ่านไฟล์ทีละบรรทัดโดยใช้ while-loop

ไฟล์ที่เราจะใช้คือ test.txt บันทึกไฟล์ test.txt และใช้ตำแหน่งของ test.txt ภายในฟังก์ชัน open()

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
while myfile:
    line  = myfile.readline()
    print(line)
    if line == "":
        break
myfile.close() 

Output:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

สรุป

  • Python readline() เป็นวิธีไฟล์ที่ช่วยในการอ่านหนึ่งบรรทัดจากไฟล์ที่กำหนด มีการขึ้นบรรทัดใหม่ต่อท้าย (“\n”) ที่ส่วนท้ายของสตริงที่ส่งคืน
  • คุณยังสามารถใช้พารามิเตอร์ขนาดเพื่อให้ได้ความยาวของเส้นที่ต้องการได้ พารามิเตอร์ขนาดเป็นทางเลือก และตามค่าเริ่มต้น ระบบจะส่งคืนทั้งบรรทัด
  • เมธอด readline() ช่วยในการอ่านทีละบรรทัด และส่งคืนบรรทัดแรกจากไฟล์ที่กำหนด เราจะใช้ readline() เพื่ออ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนด
  • หากต้องการอ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนด คุณสามารถใช้ได้ Python ฟังก์ชัน readline() ความพิเศษของ Python ฟังก์ชัน readlines() คืออ่านเนื้อหาทั้งหมดจากไฟล์ที่กำหนดและบันทึกเอาต์พุตไว้ในรายการ
  • ฟังก์ชัน readlines() อ่านจนถึงจุดสิ้นสุดของไฟล์โดยใช้ฟังก์ชัน readline() ภายในและส่งคืนรายการที่มีบรรทัดทั้งหมดอ่านจากไฟล์
  • เป็นไปได้ที่จะอ่านไฟล์ทีละบรรทัดโดยใช้ for loop โดยขั้นแรกให้เปิดไฟล์โดยใช้ Python ฟังก์ชั่น open() ในโหมดอ่าน ฟังก์ชัน open() จะส่งคืนตัวจัดการไฟล์ ใช้ตัวจัดการไฟล์ภายใน for-loop ของคุณและอ่านบรรทัดทั้งหมดจากไฟล์ที่กำหนดทีละบรรทัด เมื่อเสร็จแล้วให้ปิดตัวจัดการไฟล์โดยใช้ฟังก์ชัน close()
  • คุณสามารถใช้การวนซ้ำ while และอ่านเนื้อหาจากไฟล์ที่กำหนดทีละบรรทัด ในการทำเช่นนั้น ขั้นแรก ให้เปิดไฟล์ในโหมดอ่านโดยใช้ฟังก์ชัน open() ตัวจัดการไฟล์ที่ส่งคืนจาก open() ใช้ภายในในขณะที่ –loop เพื่ออ่านบรรทัด Python ฟังก์ชัน readline() ถูกใช้ภายใน while-loop เพื่ออ่านบรรทัด