Skip to content

ಫೈಲ್ ಮೋಡ್‌ಗಳು (File Modes)

ಪೈಥಾನ್‌ನಲ್ಲಿ open() ಫಂಕ್ಷನ್ ಬಳಸಿ ಫೈಲ್ ಅನ್ನು ತೆರೆಯುವಾಗ, ನಾವು ಎರಡನೇ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ಮೋಡ್ (mode) ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ. ಈ ಮೋಡ್, ನಾವು ಫೈಲ್‌ನೊಂದಿಗೆ ಏನು ಮಾಡಲು ಬಯಸುತ್ತೇವೆ (ಓದುವುದು, ಬರೆಯುವುದು, ಇತ್ಯಾದಿ) ಮತ್ತು ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ ಹೇಗೆ ವರ್ತಿಸಬೇಕು ಎಂಬುದನ್ನು ಪೈಥಾನ್‌ಗೆ ಹೇಳುತ್ತದೆ.


ಪ್ರಮುಖ ಫೈಲ್ ಮೋಡ್‌ಗಳು

ಮೋಡ್ ಹೆಸರು ವಿವರಣೆ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ
'r' Read (ಓದುವುದು) (ಡೀಫಾಲ್ಟ್) ಫೈಲ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಓದುತ್ತದೆ. FileNotFoundError ಎಬ್ಬಿಸುತ್ತದೆ. ಫೈಲ್‌ನ ಪ್ರಾರಂಭದಿಂದ ಓದುತ್ತದೆ.
'w' Write (ಬರೆಯುವುದು) ಫೈಲ್‌ಗೆ ಡೇಟಾವನ್ನು ಬರೆಯುತ್ತದೆ. ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿಷಯವನ್ನು ಅಳಿಸಿಹಾಕುತ್ತದೆ (overwrite).
'a' Append (ಸೇರಿಸುವುದು) ಫೈಲ್‌ನ ಕೊನೆಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಸೇರಿಸುತ್ತದೆ. ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿಷಯದ ಕೊನೆಗೆ ಸೇರಿಸುತ್ತದೆ.
'x' Exclusive Creation ಹೊಸ ಫೈಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ರಚಿಸುತ್ತದೆ. ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. FileExistsError ಎಬ್ಬಿಸುತ್ತದೆ.

ಮೋಡ್‌ಗಳೊಂದಿಗೆ ಸಂಯೋಜನೆಗಳು

ಮೇಲಿನ ಮೂಲ ಮೋಡ್‌ಗಳನ್ನು ಇತರ ಮಾರ್ಪಾಡುಗಳೊಂದಿಗೆ (modifiers) ಸಂಯೋಜಿಸಬಹುದು:

  • 'b': ಬೈನರಿ ಮೋಡ್ (Binary Mode) ಟೆಕ್ಸ್ಟ್ ಅಲ್ಲದ ಫೈಲ್‌ಗಳಾದ ಚಿತ್ರಗಳು, ಆಡಿಯೋ, ಅಥವಾ ವೀಡಿಯೊಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾ: 'rb', 'wb'.

  • '+': ಅಪ್‌ಡೇಟ್ ಮೋಡ್ (Update Mode - ಓದುವುದು ಮತ್ತು ಬರೆಯುವುದು) ಫೈಲ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಬರೆಯಲು ಎರಡಕ್ಕೂ ತೆರೆಯುತ್ತದೆ. ಉದಾ: 'r+', 'w+', 'a+'.


ಮೋಡ್‌ಗಳ ಉದಾಹರಣೆಗಳು

'r' (Read)

try:
    with open('data.txt', 'r', encoding='utf-8') as f:
        content = f.read()
        print(content)
except FileNotFoundError:
    print("ದೋಷ: 'data.txt' ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.")

'w' (Write)

# 'notes.txt' ಫೈಲ್‌ನಲ್ಲಿದ್ದ ಹಳೆಯ ವಿಷಯ ಅಳಿಸಿಹೋಗುತ್ತದೆ.
with open('notes.txt', 'w', encoding='utf-8') as f:
    f.write("ಇದು ಮೊದಲ ಸಾಲು.\n")

'a' (Append)

# 'notes.txt' ಫೈಲ್‌ನ ಕೊನೆಗೆ ಹೊಸ ವಿಷಯವನ್ನು ಸೇರಿಸುತ್ತದೆ.
with open('notes.txt', 'a', encoding='utf-8') as f:
    f.write("ಇದು ಎರಡನೇ ಸಾಲು.\n")

'x' (Exclusive Creation)

try:
    # 'new_file.txt' ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಮಾತ್ರ ರಚಿಸುತ್ತದೆ.
    with open('new_file.txt', 'x', encoding='utf-8') as f:
        f.write("ಹೊಸ ಫೈಲ್.")
except FileExistsError:
    print("ದೋಷ: 'new_file.txt' ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ.")

'r+' (Read and Update)

with open('notes.txt', 'r+', encoding='utf-8') as f:
    content = f.read() # ಮೊದಲು ಓದುವುದು
    f.write("---ಮೂರನೇ ಸಾಲು---") # ನಂತರ ಬರೆಯುವುದು
    print(content)

'rb' (Read Binary)

try:
    with open('image.jpg', 'rb') as f:
        image_data = f.read()
        print(f"{len(image_data)} ಬೈಟ್‌ಗಳನ್ನು ಓದಲಾಗಿದೆ.")
except FileNotFoundError:
    print("ದೋಷ: 'image.jpg' ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.")

ಸರಿಯಾದ ಫೈಲ್ ಮೋಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ನಿಮ್ಮ ಉದ್ದೇಶಿತ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ವಹಿಸಲು ಮತ್ತು ಅನಿರೀಕ್ಷಿತ ಡೇಟಾ ನಷ್ಟವನ್ನು ತಪ್ಪಿಸಲು ಅತ್ಯಗತ್ಯ.