มาพูดถึงไฟล์ i o.
ฉันหมายความว่าอย่างไร
คุณจะเห็นสิ่งนี้มากมายในการเขียนโปรแกรม
IO ย่อมาจากอินพุตเอาต์พุต
คุณจะเห็นว่าโดยส่วนใหญ่แล้ว เครื่องจักรไม่ได้สื่อสารกันในสภาพแวดล้อมเพียงแห่งเดียว
ตัวอย่างเช่น จนถึงตอนนี้ เราได้เขียนโค้ดของเรา เช่น เครื่องมือแก้ไข เช่น ข้อความประเสริฐที่ฉันมี
หรือ Pi Charm หรือระลอกออนไลน์
แต่โดยปกติคุณต้องการโต้ตอบกับส่วนต่างๆ ของระบบ
บางทีคุณอาจต้องการพูดกับเว็บไซต์อื่น บางทีคุณอาจต้องการพูดกับบางสิ่งที่อยู่บนเดสก์ท็อปของคุณ
บางทีอาจเป็นไฟล์ อาจมีเครื่องสองเครื่องที่สื่อสารกัน
บางทีคุณกำลังพูดกับฐานข้อมูล
IO หมายถึง เฮ้ ฉันต้องการให้คุณป้อนข้อมูลบางอย่างจากโลกภายนอกและส่งออกบางสิ่งไปยังโลกภายนอก
และหนึ่งในวิธีทั่วไปที่เราใช้สิ่งต่างๆ เช่น IO คือการอ่านไฟล์
คุณอาจคิดเกี่ยวกับ Python และจะดีแค่ไหนถ้าเราสามารถเขียนสคริปต์ที่บีบอัดรูปภาพในขณะที่เราต้องการ
IO ได้ จากนั้นฉันต้องป้อนรูปภาพแล้วจึงจำเป็นต้องส่งออกการบีบอัด
ภาพ.
บางทีฉันต้องการทำงานกับไฟล์ PDF และอาจเพิ่มลายน้ำให้กับหน้า PDF ทั้งหมดของฉัน
จากนั้นเราก็ป้อน PDF และส่งออก PDF เวอร์ชันใหม่
นี่เป็นงานทั่วไปที่เราเห็นบ่อยมาก
และการอ่านและเขียนไฟล์เป็นเครื่องมือที่สำคัญมากในแถบเครื่องมือของเรา
และอีกอย่าง เรามีโปรเจ็กต์ที่กำลังจะมา ซึ่งเราจะใช้สิ่งนี้กับ PDF จริงๆ
แต่สำหรับตอนนี้ เราจะทำเอาต์พุตอินพุตไฟล์นี้ด้วย Python ได้อย่างไร
Python มีฟังก์ชันในตัวที่ช่วยให้เราสามารถเปิดและเขียนไฟล์สองไฟล์ได้
และเรียกง่ายๆ ว่าเปิดกว้าง สวยงามและง่ายดาย
เมื่อใช้ open เราสามารถทำอะไรแบบนี้ได้
ฉันสามารถสร้างไฟล์ข้อความตัวอย่างในเดสก์ท็อปได้ ดังนั้นฉันจะใช้เทอร์มินัลของฉันที่นี่
ดังนั้นหากเราดูไดเร็กทอรีการทำงานปัจจุบัน
ฉันอยู่บนเดสก์ท็อป
หากคุณใช้ Windows คุณอาจต้องใช้คำสั่งต่างๆ ในที่นี้
แต่ตอนนี้คุณน่าจะคุ้นเคยดีอยู่แล้วว่าคุณสามารถสร้างไฟล์ได้หากต้องการ
ตอนนี้ฉันสามารถทำได้ด้วยตนเองหรือในเทอร์มินัลของฉัน
ฉันทำได้จริงๆ
หากคุณใช้ Mac คุณสามารถแตะได้ จากนั้นฉันจะพูดว่าทดสอบข้อความดอท
ดังนั้นถ้าฉันทำ ls ที่นี่คุณจะเห็นว่าฉันมีไฟล์ข้อความทดสอบและไฟล์สคริปต์ dot py
และอีกครั้ง เพียงเพื่อตรวจสอบอีกครั้งว่าฉันไปที่เดสก์ท็อปหรือไม่
ใช่.
ผมมีสองตัวนี้ตรงนี้
สมบูรณ์แบบ.
ในที่นี้ เราสามารถพูดได้ในไฟล์สคริปต์ของเรา
เปิด.
และชื่อไฟล์.
ในกรณีของเราคือการทดสอบ
ตรวจสอบว่าเป็นการทดสอบสตริง ข้อความจุด
เป็นแบบนั้น.
ตอนนี้ฉันสามารถกำหนดสิ่งนี้ให้กับตัวแปร เรียกมันว่าไฟล์ของฉัน
และตอนนี้เรามีวัตถุไฟล์แล้ว
ลองตรวจสอบดู
ถ้าฉันทำที่นี่ ให้พิมพ์ไฟล์ของฉัน
มาดูกันว่าจะเกิดอะไรขึ้น
ฉันจะเรียกใช้รหัสของฉัน
สมมุติว่า python 3 แล้วรัน script dot py
ไม่เป็นไร.
ฉันได้วัตถุ ผ้าห่อสิ่งทอ ฉันได้ชื่อ ซึ่งเป็นข้อความ ฉันได้รับโหมด ซึ่งฉันไม่แน่ใจว่ามันคืออะไร
เราจะเรียนรู้และเข้ารหัส ซึ่งก็คือวิธีเข้ารหัสไฟล์นี้ ซึ่งก็คือ UTF แปด
ไฟล์ส่วนใหญ่มักจะเข้ารหัสแบบ UTF แปด
เอาล่ะ ฉันจะอ่านไฟล์นี้ได้อย่างไร
สิ่งที่เราต้องทำคือไฟล์ของฉันมีจุด
วิธีการรีดมันเพื่อที่ว่าถ้าฉันเรียกใช้ตอนนี้
ฉันได้รับพื้นที่ว่างเพราะไม่มีอะไรในไฟล์ข้อความทดสอบนี้
ลองเขียนอะไรบางอย่าง
ฉันจะเปิดไฟล์นี้และข้อความประเสริฐและเพียงแค่เขียน
สวัสดี ฉันชื่ออังเดร
ตอนนี้ฉันมีความคิดสร้างสรรค์กับสิ่งนี้จริงๆ
งานดี.
เอาล่ะ กลับกันเถอะ
ดังนั้นตอนนี้ถ้าฉันอ่านไฟล์นี้
ดูนั่นสิ
ฉันสามารถอ่านได้
สวัสดี ฉันชื่ออังเดร
และตอนนี้คุณไปที่นั่น
ฉันได้อ่านไฟล์ของฉันแล้ว
ดีและง่าย
ทีนี้ ถ้าฉันเรียกใช้สิ่งนี้อีกครั้ง ก็แค่
อ่านเรื่องนี้หลายครั้ง
ถ้าฉันคลิกเรียกใช้
อืม.
ตอนแรกอ่านได้ แต่ 2 รอบนี้ไม่อ่านอะไรเลย
ทำไมถึงเป็นอย่างนั้น?
ฟังก์ชันเปิดนี้มีแนวคิดเกี่ยวกับเคอร์เซอร์
นั่นคือ คุณสามารถอ่านไฟล์ได้เพียงครั้งเดียว
และเมื่อคุณเปิด มันจะส่งคืนวัตถุไฟล์
และเนื้อหาของไฟล์ที่ท่านสามารถอ่านได้
และเนื้อหาของไฟล์จะเป็นสีแดงพร้อมเคอร์เซอร์เหมือนกับที่คุณเห็นที่นี่ทีละรายการและพิมพ์ลงบนหน้าจอ
แต่ในตอนท้ายของการอ่านครั้งแรก เคอร์เซอร์จะไปที่ส่วนท้ายของไฟล์
ดังนั้นตอนนี้เมื่อพยายามอ่าน ไฟล์จะเป็นจุดสิ้นสุดของไฟล์และจะไม่มีอะไรเหลืออยู่ที่นั่น
วิธีที่เราหลีกเลี่ยงสิ่งนี้คือทำสิ่งนี้
เราพูดง่ายๆ ว่าไฟล์ของฉันเป็น dot C ซึ่งเลื่อนเคอร์เซอร์ไปที่ดัชนีใดก็ได้ที่เราต้องการ
ในกรณีของเรา ค้นหาศูนย์
ดังนั้นถ้าฉันเรียกใช้ตอนนี้ คุณก็ไป
และถ้าผมเลื่อนเคอร์เซอร์กลับ
และฉันบันทึกและเรียกใช้สิ่งนี้
ไม่เป็นไร.
ตอนนี้ดีขึ้นมากแล้ว
และนี่เป็นเพียงการแสดงให้เห็นว่า Python ใช้แนวคิดเรื่องเคอร์เซอร์นี้เพื่ออ่านไฟล์
สิ่งที่พิเศษอีกอย่างที่ฉันทำได้คืออ่านบรรทัด
เพื่อที่ว่าถ้าฉันเรียกใช้สิ่งนี้
มันอ่านบรรทัด แต่สมมติว่าไฟล์ข้อความของเรามีบรรทัดต่างกัน
แล้วคุณเป็นอย่างไรบ้างล่ะ?
สมมติว่าหน้ายิ้มที่นี่
ถ้าตอนนี้ฉันอ่านบรรทัด
อีกครั้ง.
สวัสดี.
ฉันชื่ออังเดร
ถ้าฉันอ่านบรรทัดอีกครั้ง
สวัสดี.
ฉันชื่ออังเดรเพราะฉันได้แต่ละบรรทัด
ฉันจะได้บรรทัดแรกหากพิมพ์หลายครั้งเท่านั้น
และฉันดำเนินการนี้
เอาล่ะ ดีขึ้นแล้ว
ฉันเข้าใจ.
สวัสดี ฉันชื่ออังเดร หน้ายิ้ม
คุณเป็นอย่างไรบ้าง
อีกครั้ง เคอร์เซอร์ยังคงเคลื่อนที่
ถูกต้อง ฉันสามารถอ่านบรรทัดต่อไปได้
อีกสิ่งหนึ่งที่ฉันสามารถทำได้คือเพียงแค่พูดว่าอ่านบรรทัดถ้าฉันเรียกใช้สิ่งนี้
ฉันได้รับรายการที่มีไฟล์ทั้งหมด อ่านทุกบรรทัด และคุณเห็นที่นี่ว่าฉันมี
สวัสดี ฉันชื่ออังเดร นากี
ฉันมีบรรทัดใหม่ที่นี่
หน้ายิ้มขึ้นบรรทัดใหม่
จำไว้ว่านี่คือการจัดลำดับหลีก
แล้วคุณล่ะเป็นอย่างไรบ้าง ไม่มีบรรทัดใหม่ที่นี่?
เพราะไม่มีไลน์ใหม่
มันเป็นจุดสิ้นสุดของไฟล์.
ดังนั้นสิ่งเหล่านี้จึงมีประโยชน์อย่างยิ่ง
บางทีเราอาจใช้นิพจน์ทั่วไปเพื่อค้นหาข้อความในไฟล์
มีประโยชน์มากใช่มั้ย?
สิ่งสุดท้ายที่เราต้องทำและมันค่อนข้างน่ารำคาญ ดังนั้นฉันจะแสดงให้คุณเห็นว่าเราไม่จำเป็นต้องทำอีกในอนาคตอย่างไร
แต่จริงๆ แล้ว คุณต้องปิดไฟล์ด้วยตนเองหลังจากที่คุณเปิดไฟล์ด้วย open แล้ว
เพื่อให้คุณสามารถใช้ที่อื่นในโปรแกรมได้
เป็นเพียงมาตรฐานที่ดี
ดังนั้นสิ่งที่คุณต้องทำคือบอกว่าไฟล์ของฉันปิดหลังจากที่คุณทำเสร็จแล้ว
คุณบอกคอมพิวเตอร์ของคุณ
เฮ้.
คุณต้องหยุดสิ่งที่คุณทำ
ฉันไม่สนใจไฟล์อีกต่อไป
เราทำเสร็จแล้ว
คุณสามารถใช้ที่อื่นได้
ปกติแล้วเราจะทำอะไรแบบนี้และก็เสร็จแล้ว
มาพักสมองและเรียนรู้เพิ่มเติมในวิดีโอหน้ากัน