สร้างไฟล์ชั่วคราว

Python:
สร้างไฟล์ชั่วคราว

วิธีการ:

โมดูล tempfile ของ Python ถูกสร้างมาเพื่องานนี้ ลองดูวิธีการทำงานดังนี้:

import tempfile

# สร้างไฟล์ชั่วคราวและเขียนบางอย่างลงไป
with tempfile.TemporaryFile(mode='w+t') as tf:
    # เขียนสตริงลงไปในไฟล์ชั่วคราว
    tf.write('Python is fun!')
    # กลับไปที่จุดเริ่มต้นของไฟล์ก่อนอ่าน
    tf.seek(0)
    # อ่านสิ่งที่เราเขียน
    print(tf.read())  # แสดงผลลัพธ์: Python is fun!

# และเช่นนั้น ไฟล์ก็จะหายไปเมื่อคุณอยู่นอกบล็อก

โค้ดนี้ใช้ context manager เพื่อจัดการไฟล์ ซึ่งจะทำการทำความสะอาดหลังจากตัวเองอัตโนมัติ ไม่มีไฟล์ค้างเหลือ!

ลงลึก:

ไฟล์ชั่วคราวไม่ใช่เรื่องใหม่ พวกมันถูกใช้มาตั้งแต่รุ่งอรุณของการคอมพิวเตอร์เพื่อเก็บข้อมูลที่เป็นองค์ประกอบชั่วครวด โมดูล tempfile ของ Python จัดการรายละเอียดที่ซับซ้อนเช่นการสร้างชื่อที่ไม่ซ้ำกันและการลบไฟล์เมื่อเสร็จสิ้น หากคุณต้องการควบคุมเพิ่มเติม มี NamedTemporaryFile ซึ่งคุณสามารถอ้างอิงโดยชื่อได้ในชีวิตสั้นๆ ของมัน แต่จำไว้ ว่าจุดประสงค์ของมันคือการเป็นชั่วคราว:

import tempfile

# สร้างไฟล์ชั่วคราวที่มีชื่อ
with tempfile.NamedTemporaryFile(delete=True) as ntf:
    print(f'Temp file name is: {ntf.name}')  # มันมีชื่อจริงๆ!

# แต่อย่างไรก็ตาม มันจะหายไปหลังจากใช้งาน

แล้วทำไมไม่ใช้ไฟล์ปกติ? ง่ายๆ: การใช้ tempfile ช่วยให้คุณไม่ต้องพบกับความยุ่งเหยิงและความขัดแย้งที่เป็นไปได้ — ลองนึกภาพสคริปต์ของคุณทำงานซ้ำแล้วชื่อไฟล์เดียวกันถูกใช้ซ้ำ น่ายุ่งยาก ใช่ไหม?

ดูเพิ่มเติม: