หน้าแรก
หน้าแรก
ในการค้นหาไฟล์ภายในไดเร็กทอรีโดยใช้ python คุณสามารถเดินไปตามแผนผังไดเร็กทอรีโดยใช้ os.walk และค้นหาไฟล์ได้ดังนี้ - ตัวอย่าง import os def find_file(file_name, directory_name): files_found = [] for path, subdirs, files in os.walk(directory_name): &nbs
เพื่อให้ได้ขนาดของไดเร็กทอรี คุณจะต้องเดินไปตามแผนผังไดเร็กทอรีทั้งหมดและเพิ่มขนาดของแต่ละไฟล์ ในการดำเนินการนี้ คุณสามารถใช้ฟังก์ชัน os.walk() และ os.path.getsize() ตัวอย่าง import os total_size = 0 start_path = '.' # To get size of current directory for path, dirs, files in os.walk(s
ไฟล์ __init__.py จำเป็นสำหรับให้ Python จัดการกับไดเร็กทอรีเสมือนมีแพ็คเกจ สิ่งนี้ทำเพื่อป้องกันไดเร็กทอรีที่มีชื่อสามัญ เช่น สตริง จากการซ่อนโมดูลที่ถูกต้องโดยไม่ได้ตั้งใจซึ่งเกิดขึ้นภายหลังบนเส้นทางการค้นหาโมดูล ในกรณีที่ง่ายที่สุด __init__.py สามารถเป็นไฟล์ว่างได้ แต่ยังสามารถรันโค้ดเริ่มต้นสำหรั
ในการรับพาธแบบเต็มของไฟล์ปัจจุบัน คุณสามารถใช้ฟังก์ชัน os.path.abspath หากคุณต้องการเฉพาะเส้นทางไดเรกทอรี คุณสามารถเรียก os.path.dirname ตัวอย่าง import os absolute_path = os.path.abspath(__file__) print("Full path: " + absolute_path) print("Directory Path: " + os.path.dirname(ab
หากต้องการรับรายการไดเรกทอรีย่อยทั้งหมดในไดเรกทอรี เรียกซ้ำ คุณสามารถใช้ฟังก์ชัน os.walk ส่งคืน tuple สามรายการโดยรายการแรกเป็นไดเรกทอรีย่อยทั้งหมด คุณสามารถใช้ได้ดังนี้: import os subdirs = [x[0] for x in os.walk('.')] print(subdirs) คุณยังสามารถแสดงรายการไดเร็กทอรี (เฉพาะในทันที) โดยใช้ฟ
ใน Python 3.4+ คุณสามารถใช้โมดูล pathlib เพื่อรับไดเรกทอรีหลักได้ ตัวอย่าง from pathlib import Path print(Path('/home/username').parent) ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์: /home ในเวอร์ชันเก่า คุณสามารถเรียก os.path.join บนพาธของคุณและ ..(แสดงถึงไดเร็กทอรีหลัก) จากนั้นค้นหาพาธสัมบูรณ์โดยใช้ os.p
วิธีที่ดีที่สุดและน่าเชื่อถือที่สุดในการเปิดไฟล์ที่อยู่ในไดเร็กทอรีเดียวกันกับสคริปต์ Python ที่กำลังรันอยู่คือการใช้ sys.path[0] มันให้เส้นทางของสคริปต์ที่รันอยู่ในปัจจุบัน คุณสามารถใช้เพื่อเข้าร่วมเส้นทางไปยังไฟล์ของคุณโดยใช้เส้นทางสัมพัทธ์แล้วเปิดไฟล์นั้น ตัวอย่าง ตัวอย่างเช่น หากคุณมีไฟล์ชื่อ m
คุณสามารถลบไฟล์เดียวหรือโฟลเดอร์ว่างเดียวที่มีฟังก์ชันในโมดูลระบบปฏิบัติการ ตัวอย่าง ตัวอย่างเช่น หากคุณต้องการลบไฟล์ my_file.txt >>> import os >>> os.remove('my_file.txt') อาร์กิวเมนต์ของ os.remove ต้องเป็นพาธแบบสัมบูรณ์หรือแบบสัมพัทธ์ หากต้องการลบหลายไฟล์ เพียงวนซ้ำราย
open() เปิดไฟล์. คุณสามารถใช้เช่น: f = open('my_file', 'r+') my_file_data = f.read() f.close() รหัสด้านบนเปิด my_file ในโหมดอ่าน จากนั้นจัดเก็บข้อมูลที่อ่านจาก my_file ใน my_file_data และปิดไฟล์ อาร์กิวเมนต์แรกของ open คือชื่อของไฟล์ และอันที่สองคือโหมดเปิด เป็นตัวกำหนดวิธีการเปิดไฟ
คุณสามารถตรวจสอบว่าไฟล์เป็นไดเร็กทอรีหรือไฟล์โดยใช้เมธอด os.path.isfile: ตัวอย่าง >>> import os >>> print os.path.isfile('my_file.txt') True >>> print os.path.isfile('my_folder') False
คุณสามารถเปลี่ยนไดเร็กทอรีหรือ cd ใน Python โดยใช้โมดูลระบบปฏิบัติการ ใช้เป็นอินพุตเส้นทางสัมพัทธ์/สัมบูรณ์ของไดเร็กทอรีที่คุณต้องการเปลี่ยนไปใช้ ตัวอย่าง >>> import os >>> os.chdir('my_folder') หากต้องการทราบไดเร็กทอรีการทำงานปัจจุบันหรือ pwd ให้ใช้โมดูลระบบปฏิบัติการ ตัว
หากต้องการรับรายการไดเรกทอรีที่จัดเรียงตามวันที่สร้างใน Python คุณสามารถเรียก os.listdir() เพื่อรับรายชื่อไฟล์ จากนั้นเรียก os.stat() สำหรับแต่ละอันเพื่อรับเวลาสร้างและสุดท้ายเรียงลำดับตามเวลาที่สร้าง ตัวอย่าง import os import time import sys from stat import S_ISREG, ST_CTIME, ST_MODE dir_path = &
คุณสามารถเรียกใช้ฟังก์ชัน os.listdir เพื่อรับรายการเนื้อหาของไดเร็กทอรีและใช้ฟังก์ชันที่เรียงลำดับเพื่อจัดเรียงรายการนี้ ตัวอย่าง >>> import os >>> list_dir = os.listdir('.') >>> list_dir = [f.lower() for f in list_dir] # Convert to lower case >>> s
ในการตรวจสอบว่าไดเร็กทอรีมีไดเร็กทอรีใด ๆ หรือไม่ เพียงแค่ตรวจสอบย้อนกลับ เช่น หากมีรายการที่ไม่ใช่ไฟล์โดยใช้เมธอด isfile ตัวอย่าง import os list_dir = os.listdir('.') for f in list_dir: if not os.path.isfile(os.path.join('.', f)): print(&quo
คุณสามารถใช้เมธอด os.walk() เพื่อรับรายการย่อยของพาธทั้งหมดที่คุณต้องการแสดงแผนผังของ จากนั้นคุณสามารถเข้าร่วมเส้นทางและรับเส้นทางที่แน่นอนของแต่ละไฟล์ ตัวอย่าง import os def tree_printer(root): for root, dirs, files in os.walk(root): for d in dirs: &
os.listdir(my_path) จะช่วยให้คุณได้รับทุกสิ่งที่อยู่ในไดเรกทอรี my_path - ไฟล์และไดเร็กทอรี คุณสามารถใช้ได้ดังนี้: >>> import os >>> os.listdir('.') ['DLLs', 'Doc', 'etc', 'include', 'Lib', 'libs', 'LICENSE.txt', '
ใน Python 3.4+ คุณสามารถใช้โมดูล pathlib เพื่อรับไดเร็กทอรีหลัก ตัวอย่างเช่น from pathlib import Path print(Path('/home/username').parent) This will give the output: /home ในเวอร์ชันเก่า คุณสามารถเรียก os.path.join บนพาธของคุณและ ..(แสดงถึงไดเร็กทอรีหลัก) จากนั้นค้นหาพาธสัมบูรณ์โดยใช้ os.pa
คุณสามารถระบุอาร์กิวเมนต์ install-option CLI เพื่อกำหนดพาธคำนำหน้าของไดเร็กทอรีการติดตั้งขณะติดตั้งโมดูลใหม่ สำหรับ ตัวอย่าง หากคุณต้องการติดตั้งแพ็คเกจของคุณไปที่ /tmp ให้รันคำสั่งต่อไปนี้ − pip install --install-option="--prefix=/tmp" package_name
ใช้โมดูล zipfile เพื่อสร้างไฟล์ zip ของไดเร็กทอรี เดินแผนผังไดเร็กทอรีโดยใช้ os.walk และเพิ่มไฟล์ทั้งหมดในนั้นซ้ำๆ ตัวอย่าง import os import zipfile def zipdir(path, ziph): # ziph is zipfile handle for root, dirs, files in os.walk(path): for
ใช้โมดูล zipfile เพื่อสร้างไฟล์ zip ของไดเร็กทอรี เดินแผนผังไดเร็กทอรีโดยใช้ os.walk และเพิ่มไฟล์ทั้งหมดในนั้นซ้ำๆ ตัวอย่าง import os import zipfile def zipdir(path, ziph): # ziph is zipfile handle for root, dirs, files in os.walk(path): for f