ಪೈಥಾನ್ ಫೈಲ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್: ಸಂದರ್ಶನ ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಉತ್ತರಗಳು
1. ಪೈಥಾನ್ನಲ್ಲಿ ಫೈಲ್ ಅನ್ನು ಹೇಗೆ ತೆರೆಯುವುದು ಮತ್ತು ಮುಚ್ಚುವುದು?
ಉತ್ತರ:
open() ಫಂಕ್ಷನ್ ಬಳಸಿ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಬಹುದು. ಇದು ಎರಡು ಪ್ರಮುಖ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ: ಫೈಲ್ ಹೆಸರು ಮತ್ತು
ಮೋಡ್.
close() ಮೆಥಡ್ ಬಳಸಿ ಫೈಲ್ ಅನ್ನು ಮುಚ್ಚಬೇಕು. ಇದು ಫೈಲ್ ಹ್ಯಾಂಡಲ್ನಿಂದ ಬಳಸಿದ ಸಿಸ್ಟಮ್ ರಿಸೋರ್ಸ್ಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ.
ಉದಾಹರಣೆ:
# ಫೈಲ್ ತೆರೆಯುವುದು
file = open("example.txt", "r")
# ಫೈಲ್ ಓದುವುದು
content = file.read()
print(content)
# ಫೈಲ್ ಮುಚ್ಚುವುದು
file.close()
2. with open(...) as ... ಸ್ಟೇಟ್ಮೆಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸಬೇಕು?
ಉತ್ತರ:
with ಸ್ಟೇಟ್ಮೆಂಟ್ (ಕಾಂಟೆಕ್ಸ್ಟ್ ಮ್ಯಾನೇಜರ್) ಬಳಸುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸ. ಏಕೆಂದರೆ, with ಬ್ಲಾಕ್ನಿಂದ ಹೊರಬಂದ ತಕ್ಷಣ ಫೈಲ್
ತಾನಾಗಿಯೇ ಮುಚ್ಚಲ್ಪಡುತ್ತದೆ, ಎರರ್ ಸಂಭವಿಸಿದರೂ ಸಹ. ಇದು file.close() ಅನ್ನು ಮರೆಯುವ ಸಾಧ್ಯತೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
try:
with open("example.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("File not found.")
# ಇಲ್ಲಿ file.close() ಬರೆಯುವ ಅಗತ್ಯವಿಲ್ಲ
3. ಫೈಲ್ ಓಪನಿಂಗ್ ಮೋಡ್ಗಳು ಯಾವುವು?
ಉತ್ತರ: ಕೆಲವು ಪ್ರಮುಖ ಫೈಲ್ ಓಪನಿಂಗ್ ಮೋಡ್ಗಳು:
'r'(Read): ಓದಲು ಮಾತ್ರ. ಇದು ಡೀಫಾಲ್ಟ್ ಮೋಡ್. ಫೈಲ್ ಇಲ್ಲದಿದ್ದರೆFileNotFoundErrorಬರುತ್ತದೆ.'w'(Write): ಬರೆಯಲು ಮಾತ್ರ. ಫೈಲ್ ಇದ್ದರೆ, ಅದರ ಹಳೆಯ ಕಂಟೆಂಟ್ ಅಳಿಸಿಹಾಕಲ್ಪಡುತ್ತದೆ. ಫೈಲ್ ಇಲ್ಲದಿದ್ದರೆ, ಹೊಸ ಫೈಲ್ ರಚನೆಯಾಗುತ್ತದೆ.'a'(Append): ಫೈಲ್ನ ಕೊನೆಯಲ್ಲಿ ಹೊಸ ಕಂಟೆಂಟ್ ಸೇರಿಸಲು. ಫೈಲ್ ಇಲ್ಲದಿದ್ದರೆ, ಹೊಸ ಫೈಲ್ ರಚನೆಯಾಗುತ್ತದೆ.'r+'(Read and Write): ಓದಲು ಮತ್ತು ಬರೆಯಲು.'w+'(Write and Read): ಬರೆಯಲು ಮತ್ತು ಓದಲು. ಹಳೆಯ ಕಂಟೆಂಟ್ ಅಳಿಸುತ್ತದೆ.'a+'(Append and Read): ಸೇರಿಸಲು ಮತ್ತು ಓದಲು.
ಬೈನರಿ ಫೈಲ್ಗಳಿಗಾಗಿ (ಉದಾ: ಚಿತ್ರಗಳು), ಈ ಮೋಡ್ಗಳಿಗೆ 'b' ಸೇರಿಸಬೇಕು (ಉದಾ: 'rb', 'wb').
4. ಫೈಲ್ನಿಂದ ಕಂಟೆಂಟ್ ಓದಲು ಇರುವ ವಿವಿಧ ವಿಧಾನಗಳು ಯಾವುವು?
ಉತ್ತರ:
read(): ಸಂಪೂರ್ಣ ಫೈಲ್ನ ಕಂಟೆಂಟ್ ಅನ್ನು ಒಂದೇ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಓದುತ್ತದೆ.readline(): ಫೈಲ್ನಿಂದ ಒಂದೇ ಒಂದು ಸಾಲನ್ನು ಓದುತ್ತದೆ.readlines(): ಫೈಲ್ನ ಎಲ್ಲಾ ಸಾಲುಗಳನ್ನು ಓದಿ, ಅವುಗಳನ್ನು ಒಂದು ಲಿಸ್ಟ್ ಆಗಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಪ್ರತಿ ಸಾಲಿನ ಕೊನೆಯಲ್ಲಿ ನ್ಯೂಲೈನ್ ಕ್ಯಾರೆಕ್ಟರ್ (\n) ಇರುತ್ತದೆ.forಲೂಪ್ ಬಳಸಿ: ದೊಡ್ಡ ಫೈಲ್ಗಳನ್ನು ಓದಲು ಇದು ಅತ್ಯುತ್ತಮ ವಿಧಾನ, ಏಕೆಂದರೆ ಇದು ಒಂದೇ ಬಾರಿಗೆ ಸಂಪೂರ್ಣ ಫೈಲ್ ಅನ್ನು ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡುವುದಿಲ್ಲ.
5. seek() ಮತ್ತು tell() ಮೆಥಡ್ಗಳ ಉಪಯೋಗವೇನು?
ಉತ್ತರ:
tell(): ಫೈಲ್ನಲ್ಲಿ ಪ್ರಸ್ತುತ ಕರ್ಸರ್ (ಫೈಲ್ ಪಾಯಿಂಟರ್) ಇರುವ ಪೊಸಿಷನ್ ಅನ್ನು (ಬೈಟ್ಗಳಲ್ಲಿ) ಹಿಂತಿರುಗಿಸುತ್ತದೆ.seek(): ಫೈಲ್ನಲ್ಲಿ ಕರ್ಸರ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಪೊಸಿಷನ್ಗೆ ಸರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ: