ಫೈಲ್ ಮೋಡ್ಗಳು (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' ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.")
ಸರಿಯಾದ ಫೈಲ್ ಮೋಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ನಿಮ್ಮ ಉದ್ದೇಶಿತ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ವಹಿಸಲು ಮತ್ತು ಅನಿರೀಕ್ಷಿತ ಡೇಟಾ ನಷ್ಟವನ್ನು ತಪ್ಪಿಸಲು ಅತ್ಯಗತ್ಯ.