จะกรองไฟล์คงที่ของแอปพลิเคชัน Flask ตามขนาดไฟล์ได้อย่างไร

Jan 08, 2026ฝากข้อความ

เฮ้! ในฐานะซัพพลายเออร์ขวดกรอง ฉันมักถูกถามเกี่ยวกับแง่มุมต่างๆ ของขวดกรอง คำถามหนึ่งที่น่าสนใจที่เกิดขึ้นเมื่อเร็ว ๆ นี้ก็คือวิธีกรองไฟล์คงที่ของแอปพลิเคชัน Flask ตามขนาดไฟล์ ตอนนี้ ฉันรู้ว่ามันอาจฟังดูสับสนเล็กน้อย เนื่องจากเรามักจะพูดถึงขวดกรองแบบกายภาพ แต่มาเจาะลึกในหัวข้อที่เกี่ยวข้องกับเทคโนโลยีนี้แล้วดูว่าเราจะทำความเข้าใจกับมันได้อย่างไร

ทำความเข้าใจกับปัญหา

ก่อนอื่น เมื่อเราจัดการกับแอปพลิเคชัน Flask ไฟล์สแตติกคือสิ่งต่างๆ เช่น CSS, JavaScript และรูปภาพ ไฟล์เหล่านี้จะถูกส่งตรงไปยังไคลเอนต์โดยไม่มีการประมวลผลฝั่งเซิร์ฟเวอร์ บางครั้ง คุณอาจมีไฟล์คงที่จำนวนมาก และบางไฟล์อาจมีขนาดค่อนข้างใหญ่ ไฟล์ขนาดใหญ่อาจทำให้แอปพลิเคชันของคุณช้าลง โดยเฉพาะอย่างยิ่งหากผู้ใช้ใช้การเชื่อมต่อที่ช้าหรือแบบคิดค่าบริการตามปริมาณข้อมูล ดังนั้น การกรองไฟล์เหล่านี้ตามขนาดอาจเป็นวิธีที่ดีในการเพิ่มประสิทธิภาพแอปพลิเคชันของคุณ

เหตุใดจึงกรองไฟล์แบบคงที่ตามขนาด

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

วิธีกรองไฟล์แบบคงที่ตามขนาดในแอปพลิเคชัน Flask

ขั้นตอนที่ 1: รับรายการไฟล์คงที่

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

import os static_folder = 'static' static_files = [] สำหรับ root, dirs, ไฟล์ใน os.walk (static_folder): สำหรับไฟล์ในไฟล์: file_path = os.path.join (root, file) static_files.append (file_path)

รหัสนี้จะเดินผ่านแบบวนซ้ำคงที่โฟลเดอร์และเพิ่มเส้นทางไฟล์ทั้งหมดลงในstatic_filesรายการ.

Clear glass Filtering FlaskLaboratory Glass Conical Shape Erlenmeyer Filtering Flasks With Upper Tubulation

ขั้นตอนที่ 2: ตรวจสอบขนาดไฟล์

เมื่อคุณมีรายการไฟล์แล้ว คุณจะต้องตรวจสอบขนาดไฟล์ คุณสามารถใช้os.path.getsize()ฟังก์ชั่นรับขนาดไฟล์เป็นไบต์ ต่อไปนี้คือวิธีที่คุณสามารถเพิ่มลงในโค้ดก่อนหน้า:

import os static_folder = 'static' static_files = [] สำหรับ root, dirs, ไฟล์ใน os.walk(static_folder): สำหรับไฟล์ในไฟล์: file_path = os.path.join(root, file) file_size = os.path.getsize(file_path) static_files.append((file_path, file_size))

ตอนนี้,static_filesคือรายการสิ่งอันดับ โดยแต่ละสิ่งอันดับประกอบด้วยพาธของไฟล์และขนาดของไฟล์

ขั้นตอนที่ 3: กรองไฟล์

ขั้นตอนต่อไปคือการกรองไฟล์ตามขนาด สมมติว่าคุณต้องการเก็บเฉพาะไฟล์ที่มีขนาดเล็กกว่า 100KB (100 * 1024 ไบต์) ต่อไปนี้คือวิธีที่คุณสามารถทำได้:

import os static_folder = 'static' static_files = [] สำหรับ root, dirs, ไฟล์ใน os.walk (static_folder): สำหรับไฟล์ในไฟล์: file_path = os.path.join (root, file) file_size = os.path.getsize (file_path) static_files.append ((file_path, file_size)) filtered_files = [ไฟล์สำหรับไฟล์ใน static_files ถ้าไฟล์ [1] < 100 * 1,024]

ที่filtered_filesรายการตอนนี้มีเพียงไฟล์ที่มีขนาดเล็กกว่า 100KB

การใช้ไฟล์ที่กรองในแอปพลิเคชัน Flask ของคุณ

เมื่อคุณมีไฟล์ที่กรองแล้ว คุณสามารถใช้ไฟล์เหล่านั้นในแอปพลิเคชัน Flask ของคุณได้ เช่น คุณแสดงได้เฉพาะไฟล์ CSS และ JavaScript ที่กรองแล้วเท่านั้น ต่อไปนี้คือแอปพลิเคชัน Flask ง่ายๆ ที่ให้บริการไฟล์ CSS ที่ถูกกรอง:

จากการนำเข้าขวด Flask, send_file app = Flask(__name__) static_folder = 'static' static_files = [] สำหรับรูท, dirs, ไฟล์ใน os.walk(static_folder): สำหรับไฟล์ในไฟล์: file_path = os.path.join(root, file) file_size = os.path.getsize(file_path) static_files.append((file_path, file_size)) filtered_files = [ไฟล์สำหรับไฟล์ใน static_files if file[1] < 100 * 1024 และ file[0].endswith('.css')] @app.route('/css/<path:filename>') def server_css(ชื่อไฟล์): สำหรับไฟล์ใน filtered_files: if file[0].endswith(ชื่อไฟล์): return send_file(file[0]) return "File not found", 404 ถ้า __name__ == '__main__': app.run(debug=True)

ในตัวอย่างนี้ แอปพลิเคชัน Flask ให้บริการเฉพาะไฟล์ CSS ที่มีขนาดเล็กกว่า 100KB เท่านั้น

ผลิตภัณฑ์ขวดกรองของเรา

ขณะที่เราอยู่ในหัวข้อการกรอง ฉันอยากจะพูดถึงขวดกรองที่มีให้เลือกมากมายของเรา เรามีผลิตภัณฑ์คุณภาพสูงที่เหมาะกับความต้องการของห้องปฏิบัติการของคุณ ตัวอย่างเช่น ตรวจสอบของเราขวดกรองแก้วใสในห้องปฏิบัติการพร้อมท่อด้านบน- ขวดเหล่านี้ทำจากแก้วใส ซึ่งช่วยให้คุณสังเกตกระบวนการกรองได้ง่าย

เราก็มีเช่นกันErlenmeyer ขวดแก้วทรงกรวยสำหรับห้องปฏิบัติการพร้อมท่อกรองด้านบน- รูปทรงกรวยของขวดเหล่านี้ทำให้เหมาะสำหรับการผสมและกรองของเหลว

ติดต่อเราเพื่อจัดซื้อจัดจ้าง

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

อ้างอิง

  • เอกสารหลาม:คุณโมดูล
  • เอกสารประกอบขวด