os ಮೊಡ್ಯೂಲ್
ಪೈಥಾನ್ನ os ಮೊಡ್ಯೂಲ್, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ (OS) ಸಂವಹನ ನಡೆಸಲು ಒಂದು ಪೋರ್ಟಬಲ್ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಫೈಲ್ಗಳು ಮತ್ತು ಡೈರೆಕ್ಟರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು, ಫೈಲ್ ಪಾತ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ಮತ್ತು ಸಿಸ್ಟಮ್ ಮಾಹಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ಇದು ಹಲವಾರು ಫಂಕ್ಷನ್ಗಳನ್ನು ಹೊಂದಿದೆ.
os ಮೊಡ್ಯೂಲ್, ಆಟೋಮೇಷನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಸಿಸ್ಟಮ್-ಲೆವೆಲ್ ಕಾರ್ಯಗಳಿಗಾಗಿ ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾಗಿದೆ.
1. ಡೈರೆಕ್ಟರಿ ಮತ್ತು ಫೈಲ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು
os.getcwd(): ಪ್ರಸ್ತುತ ವರ್ಕಿಂಗ್ ಡೈರೆಕ್ಟರಿಯ (Current Working Directory) ಪಾತ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.chdir(path): ಪ್ರಸ್ತುತ ವರ್ಕಿಂಗ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ.os.listdir(path): ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪಾತ್ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಫೈಲ್ಗಳು ಮತ್ತು ಡೈರೆಕ್ಟರಿಗಳ ಲಿಸ್ಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.mkdir(path): ಒಂದು ಹೊಸ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸುತ್ತದೆ.os.makedirs(path): ನೆಸ್ಟೆಡ್ ಡೈರೆಕ್ಟರಿಗಳನ್ನು (recursive) ರಚಿಸುತ್ತದೆ.os.remove(path): ಒಂದು ಫೈಲ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ.os.rmdir(path): ಒಂದು ಖಾಲಿ ಡೈರೆಕ್ಟರಿಯನ್ನು ಅಳಿಸುತ್ತದೆ.os.rename(src, dst): ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿಯನ್ನು ಮರುಹೆಸರಿಸುತ್ತದೆ.
# ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯನ್ನು ಪಡೆಯುವುದು
current_dir = os.getcwd()
print(f"ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿ: {current_dir}")
# ಹೊಸ ಡೈರೆಕ್ಟರಿ ರಚಿಸುವುದು
try:
os.mkdir("test_folder")
print("'test_folder' ಅನ್ನು ರಚಿಸಲಾಗಿದೆ.")
except FileExistsError:
print("'test_folder' ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ.")
# ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿರುವ ಐಟಂಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವುದು
print(f"ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿರುವ ಐಟಂಗಳು: {os.listdir('.')}")
2. ಪಾತ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು (os.path)
os ಮೊಡ್ಯೂಲ್ನ ಸಬ್-ಮೊಡ್ಯೂಲ್ ಆದ os.path, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಪಾತ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಉಪಯುಕ್ತ ಫಂಕ್ಷನ್ಗಳನ್ನು ಹೊಂದಿದೆ. ಇದು ವಿಂಡೋಸ್ (\) ಮತ್ತು ಲಿನಕ್ಸ್/ಮ್ಯಾಕ್ (/) ನಂತಹ ವಿವಿಧ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳ ನಡುವೆ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಪೋರ್ಟಬಲ್ ಆಗಿಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
os.path.join(path, *paths): ಪಾತ್ನ ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗೆ ಸರಿಯಾದ ರೀತಿಯಲ್ಲಿ ಸೇರಿಸುತ್ತದೆ.os.path.exists(path): ನಿರ್ದಿಷ್ಟ ಪಾತ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆTrueಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.path.isfile(path): ಪಾತ್ ಒಂದು ಫೈಲ್ ಆಗಿದ್ದರೆTrueಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.path.isdir(path): ಪಾತ್ ಒಂದು ಡೈರೆಕ್ಟರಿ ಆಗಿದ್ದರೆTrueಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.path.basename(path): ಪಾತ್ನ ಕೊನೆಯ ಕಾಂಪೊನೆಂಟ್ (ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿ ಹೆಸರು) ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.path.dirname(path): ಪಾತ್ನ ಡೈರೆಕ್ಟರಿ ಭಾಗವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.os.path.splitext(path): ಪಾತ್ ಅನ್ನು(root, ext)ಎಂಬ ಟ್ಯೂಪಲ್ ಆಗಿ ವಿಭಜಿಸುತ್ತದೆ (ಉದಾ:('file', '.txt')).
# OS-ಸ್ವತಂತ್ರ ಪಾತ್ ರಚಿಸುವುದು
file_path = os.path.join('test_folder', 'my_file.txt')
print(f"ರಚಿಸಿದ ಪಾತ್: {file_path}")
# ಪಾತ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುವುದು
print(f"'{file_path}' ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ? {os.path.exists(file_path)}")
# ಪಾತ್ನ ಭಾಗಗಳನ್ನು ಪಡೆಯುವುದು
print(f"ಫೈಲ್ ಹೆಸರು: {os.path.basename(file_path)}")
print(f"ಡೈರೆಕ್ಟರಿ ಹೆಸರು: {os.path.dirname(file_path)}")
3. ಸಿಸ್ಟಮ್ ಕಮಾಂಡ್ಗಳನ್ನು ಚಲಾಯಿಸುವುದು
os.system(command): ಸಿಸ್ಟಮ್ ಶೆಲ್ನಲ್ಲಿ ಒಂದು ಕಮಾಂಡ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತದೆ.
# ಲಿನಕ್ಸ್/ಮ್ಯಾಕ್ನಲ್ಲಿ 'ls -l' ಅಥವಾ ವಿಂಡೋಸ್ನಲ್ಲಿ 'dir'
if os.name == 'nt': # ವಿಂಡೋಸ್
os.system('dir')
else: # ಲಿನಕ್ಸ್/ಮ್ಯಾಕ್
os.system('ls -l')
4. ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ಗಳು
os.environ: ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ಗಳ ಒಂದು ಡಿಕ್ಷನರಿ.os.getenv(key): ಒಂದು ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಪಡೆಯುತ್ತದೆ.
# 'PATH' ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಪಡೆಯುವುದು
path_variable = os.getenv('PATH')
# print(f"PATH: {path_variable}")
os ಮೊಡ್ಯೂಲ್, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಮತ್ತು ಸಿಸ್ಟಮ್-ಲೆವೆಲ್ ಕಾರ್ಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬರೆಯಲು ಅತ್ಯಗತ್ಯವಾದ ಸಾಧನವಾಗಿದೆ.