Jinsi ya Kupata Taarifa za Faili Husika kwa Python
Katika somo hili, tutajifunza jinsi ya kupata taarifa muhimu kuhusu faili kwa kutumia Python. Tutatumia modules zinazohusiana na os na os.path kwa taarifa za ukubwa, location, na pia tutaongeza ujuzi wa kusoma idadi ya mistari kwa kutumia mbinu tofauti.
1. Hatua za Kwanza
-
Hakikisha faili lako lipo, na unajua jina na path yake.
-
Tunaweza kutumia Python standard library kufanya kazi hizi bila haja ya programu za ziada.
2. Kutambua Ukubwa wa Faili
Ili kujua ukubwa wa faili katika bytes, tunatumia method ya os.path.getsize().
import os
# Jina la faili
file_path = 'wanafunzi.csv'
# Pata ukubwa wa faili
file_size = os.path.getsize(file_path)
print(f"Ukubwa wa faili ni: {file_size} bytes")
Output (mfano):
Ukubwa wa faili ni: 68 bytes
3. Kupata Mahali (Location) ya Faili
Ili kupata absolute path ya faili, tumia os.path.abspath().
import os
# Jina la faili
file_path = 'wanafunzi.csv'
# Pata ukubwa wa faili
file_location = os.path.abspath(file_path)
print(f"Faili lipo katika: {file_location}")
Output (mfano):
Faili lipo katika: /home/user/projects/wanafunzi.csv
4. Muda Faili Lilipopata Sasisho (modification)
Tumia os.path.getmtime() kupata muda wa mwisho faili liliposasishwa (editing). Taarifa hii itarudiwa kama timestamp ya UNIX ambayo inaweza kubadilishwa kuwa fomati inayosomeka.
import os
import time
# Jina la faili
file_path = 'wanafunzi.csv'
# Muda wa mwisho wa kusasisha
last_modified = os.path.getmtime(file_path)
print(f"Faili lilisasishwa mwisho: {time.ctime(last_modified)}")
Output (mfano):
Faili lilisasishwa mwisho: Tue Dec 3 12:45:00 2024
5. Muda wa Mwisho wa Kutumika
Tumia os.path.getatime() kupata muda wa mwisho faili lilipotumika.
import os
import time
# Jina la faili
file_path = 'wanafunzi.csv'
last_accessed = os.path.getatime(file_path)
print(f"Mara ya mwisho faili lilipotumika: {time.ctime(last_accessed)}")
Output (mfano):
Mara ya mwisho faili lilipotumika: Tue Dec 3 13:00:00 2024
6. Idadi ya Mistari Katika Faili
Tumia readlines() au read() pamoja na splitlines() kuhesabu idadi ya mistari kwenye faili.
import os
# Jina la faili
file_path = 'wanafunzi.csv'
with open(file_path, 'r') as file:
lines = file.readlines() # Soma mistari yote kama orodha
print(f"Idadi ya mistari katika faili: {len(lines)}")
Output (mfano):
Idadi ya mistari katika faili: 4
Muhtasari wa Hatua kwa Hatua
-
Ukubwa wa Faili:
-
os.path.getsize('path')
-
Location ya Faili:
-
os.path.abspath('path')
-
Muda wa Mwisho Kusasishwa:
-
os.path.getmtime('path') na time.ctime()
-
Muda wa Mwisho Kutumika:
-
os.path.getatime('path') na time.ctime()
-
Idadi ya Mistari:
-
Soma na hesabu kwa readlines() au splitlines().
Mfano wa Kamilifu
import os
import time
file_path = 'wanafunzi.csv'
# Ukubwa wa faili
file_size = os.path.getsize(file_path)
print(f"Ukubwa wa faili ni: {file_size} bytes")
# Mahali faili lilipo
file_location = os.path.abspath(file_path)
print(f"Faili lipo katika: {file_location}")
# Muda wa mwisho wa kusasisha
last_modified = os.path.getmtime(file_path)
print(f"Faili lilisasishwa mwisho: {time.ctime(last_modified)}")
# Muda wa mwisho wa kutumia faili
last_accessed = os.path.getatime(file_path)
print(f"Mara ya mwisho faili lilipotumika: {time.ctime(last_accessed)}")
# Idadi ya mistari
with open(file_path, 'r') as file:
lines = file.readlines()
print(f"Idadi ya mistari katika faili: {len(lines)}")
Output (mfano):
Ukubwa wa faili ni: 68 bytes
Faili lipo katika: /home/user/projects/wanafunzi.csv
Faili lilisasishwa mwisho: Tue Dec 3 12:45:00 2024
Mara ya mwisho faili lilipotumika: Tue Dec 3 13:00:00 2024
Idadi ya mistari katika faili: 4
Hii inakupa taarifa zote muhimu kuhusu faili lako.