പൈത്തൺ ഫയൽ അസ്തിത്വ പരിശോധന
പൈത്തണിലെ ഫയലുകളിൽ പ്രവർത്തിക്കുമ്പോൾ, ഏതെങ്കിലും പ്രവർത്തനങ്ങൾ നടത്തുന്നതിന് മുമ്പ് ഒരു ഫയൽ നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കുന്നത് സാധാരണമാണ്. ഫയലുകൾ നഷ്ടമായതിനാൽ പിശകുകൾ നേരിടാതെ നിങ്ങളുടെ പ്രോഗ്രാം സുഗമമായി പ്രവർത്തിക്കുന്നുവെന്ന് ഇത് ഉറപ്പാക്കുന്നു.
ഈ ഗൈഡിൽ, നിങ്ങളുടെ കോഡ് ക്ലീനറും കൂടുതൽ വായനായോഗ്യവുമാക്കുന്ന, ട്രൈ-ഒഴികെ പ്രസ്താവന ഉപയോഗിക്കാതെ ഫയൽ നിലനിൽപ്പിനായി പരിശോധിക്കുന്നതിനുള്ള വ്യത്യസ്ത രീതികൾ ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യും. നിങ്ങൾ പൈത്തണിൽ പുതിയ ആളാണെങ്കിലും അല്ലെങ്കിൽ നിങ്ങളുടെ കോഡിംഗ് കഴിവുകൾ പരിഷ്കരിക്കാൻ നോക്കുകയാണെങ്കിലും, ഈ ട്യൂട്ടോറിയൽ ഫയൽ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു നേരായ സമീപനം നൽകുന്നു.
കമാൻഡ് | വിവരണം |
---|---|
os.path.isfile(filepath) | നിർദ്ദിഷ്ട പാത ഒരു ഫയലിലേക്ക് പോയിൻ്റ് ചെയ്യുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നു. അതൊരു ഫയലാണെങ്കിൽ ശരി, അല്ലാത്തപക്ഷം തെറ്റ് എന്ന് നൽകുന്നു. |
Path(filepath).is_file() | നിർദ്ദിഷ്ട പാത്ത് ഒരു ഫയലിലേക്ക് പോയിൻ്റ് ചെയ്യുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ പാത്ത്ലിബ് മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു. അതൊരു ഫയലാണെങ്കിൽ ശരി, അല്ലാത്തപക്ഷം തെറ്റ് എന്ന് നൽകുന്നു. |
os.access(filepath, os.F_OK) | പ്രവേശന രീതി ഉപയോഗിച്ച് പാത്ത് വ്യക്തമാക്കിയ ഫയൽ നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കുന്നു. ഫയലിൻ്റെ നിലനിൽപ്പിനായുള്ള F_OK ടെസ്റ്റുകൾ. |
import os | ഓപ്പറേറ്റിംഗ് സിസ്റ്റവുമായി സംവദിക്കുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ നൽകുന്ന os മൊഡ്യൂൾ ഇറക്കുമതി ചെയ്യുന്നു. |
from pathlib import Path | ഒബ്ജക്റ്റ്-ഓറിയൻ്റഡ് ഫയൽസിസ്റ്റം പാത്തുകൾ വാഗ്ദാനം ചെയ്യുന്ന പാത്ത്ലിബ് മൊഡ്യൂളിൽ നിന്ന് പാത്ത് ക്ലാസ് ഇമ്പോർട്ടുചെയ്യുന്നു. |
ഫയൽ അസ്തിത്വ പരിശോധന സ്ക്രിപ്റ്റുകൾ മനസ്സിലാക്കുന്നു
ഒഴിവാക്കലുകൾ ഉപയോഗിക്കാതെ പൈത്തണിൽ ഒരു ഫയൽ നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കാൻ നൽകിയിരിക്കുന്ന സ്ക്രിപ്റ്റുകൾ വ്യത്യസ്ത രീതികൾ വാഗ്ദാനം ചെയ്യുന്നു. ആദ്യ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു os.path.isfile(filepath) കമാൻഡ്, പാത്ത് ഒരു ഫയലിലേക്ക് പോയിൻ്റ് ചെയ്താൽ True എന്നും അല്ലാത്തപക്ഷം False എന്നും നൽകുന്നു. ഈ രീതി ലളിതവും ഓപ്പറേറ്റിംഗ് സിസ്റ്റവുമായി ഇടപഴകുന്നതിന് സാധാരണയായി ഉപയോഗിക്കുന്ന OS മൊഡ്യൂളിനെ സ്വാധീനിക്കുന്നു. രണ്ടാമത്തെ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു Path(filepath).is_file() പാത്ത്ലിബ് മൊഡ്യൂളിൽ നിന്നുള്ള രീതി, ഫയൽ സിസ്റ്റം പാത്തുകളിലേക്ക് ഒബ്ജക്റ്റ്-ഓറിയൻ്റഡ് സമീപനം നൽകുന്നു. നിർദ്ദിഷ്ട പാത ഒരു ഫയലിലേക്ക് പോയിൻ്റ് ചെയ്താൽ ഈ രീതി True നൽകുന്നു.
അവസാനമായി, മൂന്നാമത്തെ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു os.access(filepath, os.F_OK) ഒരു ഫയലിൻ്റെ അസ്തിത്വം പരിശോധിക്കാനുള്ള കമാൻഡ്. ദി F_OK പാതയുടെ നിലനിൽപ്പിനായുള്ള ഫ്ലാഗ് ടെസ്റ്റുകൾ. ഈ രീതി ബഹുമുഖവും os മൊഡ്യൂളിൻ്റെ ഭാഗവുമാണ്, അതിൽ ഫയൽ സിസ്റ്റവുമായി സംവദിക്കുന്നതിനുള്ള വിവിധ പ്രവർത്തനങ്ങൾ ഉൾപ്പെടുന്നു. ഒഴിവാക്കലുകൾ കൈകാര്യം ചെയ്യാതെ തന്നെ ഫയൽ നിലനിൽപ്പ് പരിശോധിക്കാൻ ഈ രീതികൾ ശക്തവും ശുദ്ധവുമായ വഴികൾ വാഗ്ദാനം ചെയ്യുന്നു, ഇത് നിങ്ങളുടെ കോഡ് കൂടുതൽ വായിക്കാവുന്നതും പരിപാലിക്കാവുന്നതുമാക്കി മാറ്റുന്നു. ഈ കമാൻഡുകൾ മനസിലാക്കുന്നതിലൂടെ, നിങ്ങളുടെ നിർദ്ദിഷ്ട ആവശ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ രീതി നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാം.
os.path മൊഡ്യൂൾ ഉപയോഗിച്ച് ഫയൽ നിലനിൽപ്പ് പരിശോധിക്കുന്നു
os.path മൊഡ്യൂൾ ഉപയോഗിച്ച് പൈത്തൺ സ്ക്രിപ്റ്റ്
import os
def check_file_exists(filepath):
return os.path.isfile(filepath)
# Example usage
file_path = 'example.txt'
if check_file_exists(file_path):
print(f"'{file_path}' exists.")
else:
print(f"'{file_path}' does not exist.")
ഫയൽ സാന്നിധ്യം പരിശോധിക്കാൻ പാത്ത്ലിബ് മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു
പാത്ത്ലിബ് മൊഡ്യൂൾ ഉപയോഗിച്ച് പൈത്തൺ സ്ക്രിപ്റ്റ്
from pathlib import Path
def check_file_exists(filepath):
return Path(filepath).is_file()
# Example usage
file_path = 'example.txt'
if check_file_exists(file_path):
print(f"'{file_path}' exists.")
else:
print(f"'{file_path}' does not exist.")
ഫയൽ നിലനിൽപ്പിനായി os.access രീതി ഉപയോഗിക്കുന്നു
os.access രീതി ഉപയോഗിച്ച് പൈത്തൺ സ്ക്രിപ്റ്റ്
import os
def check_file_exists(filepath):
return os.access(filepath, os.F_OK)
# Example usage
file_path = 'example.txt'
if check_file_exists(file_path):
print(f"'{file_path}' exists.")
else:
print(f"'{file_path}' does not exist.")
ഫയൽ നിലനിൽപ്പ് പരിശോധിക്കുന്നതിനുള്ള ഇതര രീതികൾ
മുമ്പ് സൂചിപ്പിച്ച രീതികൾക്ക് പുറമേ, മറ്റൊരു ഉപയോഗപ്രദമായ സമീപനം ഉപയോഗിക്കുന്നു os.path.exists(filepath) രീതി. ഈ കമാൻഡ് ഒരു പാത്ത് നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കുന്നു, അത് ഒരു ഫയലായാലും ഡയറക്ടറിയായാലും. ഏതെങ്കിലും തരത്തിലുള്ള പാതയുടെ സാന്നിധ്യം നിങ്ങൾക്ക് പരിശോധിക്കേണ്ടിവരുമ്പോൾ ഇത് പ്രത്യേകിച്ചും സഹായകരമാണ്. ഇതുമായി സംയോജിപ്പിക്കുന്നു os.path.isdir(filepath) ഫയലുകളും ഡയറക്ടറികളും തമ്മിൽ വേർതിരിച്ചറിയാൻ നിങ്ങളെ അനുവദിക്കുന്നു, നിങ്ങളുടെ ഫയൽ കൈകാര്യം ചെയ്യുന്ന ലോജിക് കൂടുതൽ വൈവിധ്യമാർന്നതാക്കുന്നു.
മറ്റൊരു രീതി ഉപയോഗിക്കുന്നത് ഉൾപ്പെടുന്നു glob മൊഡ്യൂൾ, ഒരു നിർദ്ദിഷ്ട പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന എല്ലാ പാത്ത് നെയിമുകളും കണ്ടെത്താനാകും. നിങ്ങൾക്ക് ഒന്നിലധികം ഫയലുകൾ അല്ലെങ്കിൽ ഒരു ഡയറക്ടറിയിൽ ഒരു പ്രത്യേക ഫയൽ പാറ്റേൺ പരിശോധിക്കേണ്ടിവരുമ്പോൾ ഇത് ഉപയോഗപ്രദമാണ്. ഉദാഹരണത്തിന്, ഉപയോഗിക്കുന്നത് glob.glob('*.txt') നിലവിലെ ഡയറക്ടറിയിലെ എല്ലാ ടെക്സ്റ്റ് ഫയലുകളുടെയും ഒരു ലിസ്റ്റ് തിരികെ നൽകും. ഫയൽ പാറ്റേണുകളിലും ഡയറക്ടറികളിലും പ്രവർത്തിക്കുമ്പോൾ ഈ രീതി കൂടുതൽ വഴക്കം നൽകുന്നു.
ഫയൽ അസ്തിത്വ പരിശോധനയെക്കുറിച്ചുള്ള പൊതുവായ ചോദ്യങ്ങളും ഉത്തരങ്ങളും
- പൈത്തണിൽ ഒരു ഡയറക്ടറി നിലവിലുണ്ടോ എന്ന് എനിക്ക് എങ്ങനെ പരിശോധിക്കാം?
- ഉപയോഗിക്കുക os.path.isdir(filepath) ഒരു നിർദ്ദിഷ്ട പാത ഒരു ഡയറക്ടറിയിലേക്ക് പോയിൻ്റ് ചെയ്യുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ കമാൻഡ്.
- എനിക്ക് ഉപയോഗിക്കാമോ os.path.exists(filepath) ഫയലുകളും ഡയറക്ടറികളും പരിശോധിക്കണോ?
- അതെ, os.path.exists(filepath) ഒരു ഫയലോ ഡയറക്ടറിയോ എന്നത് പരിഗണിക്കാതെ തന്നെ, പാത നിലവിലുണ്ടെങ്കിൽ True നൽകുന്നു.
- ഫയൽ പാത്തുകളിലേക്കുള്ള ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് സമീപനത്തിന് ഞാൻ എന്ത് മൊഡ്യൂൾ ഉപയോഗിക്കണം?
- ദി pathlib ഫയൽസിസ്റ്റം പാഥുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒബ്ജക്റ്റ്-ഓറിയൻ്റഡ് സമീപനം മൊഡ്യൂൾ നൽകുന്നു.
- ഒരു ഡയറക്ടറിയിൽ ഒരു പ്രത്യേക ഫയൽ പാറ്റേൺ നിലവിലുണ്ടോ എന്ന് ഞാൻ എങ്ങനെ പരിശോധിക്കും?
- ഉപയോഗിക്കുക glob മൊഡ്യൂൾ, ഉദാഹരണത്തിന്, glob.glob('*.txt') ഒരു ഡയറക്ടറിയിൽ എല്ലാ ടെക്സ്റ്റ് ഫയലുകളും കണ്ടെത്താൻ.
- ആണ് os.access(filepath, os.F_OK) ഫയൽ നിലനിൽപ്പ് പരിശോധിക്കാൻ മാത്രമാണോ ഉപയോഗിക്കുന്നത്?
- ഇല്ല, os.access പോലുള്ള വ്യത്യസ്ത ഫ്ലാഗുകൾ ഉപയോഗിച്ച് അനുമതികൾ വായിക്കാനും എഴുതാനും നടപ്പിലാക്കാനും കഴിയും os.R_OK, os.W_OK, ഒപ്പം os.X_OK.
- എന്താണ് തമ്മിലുള്ള വ്യത്യാസം os.path.isfile ഒപ്പം os.path.exists?
- os.path.isfile(filepath) പാത്ത് ഒരു ഫയലാണോ എന്ന് പരിശോധിക്കുന്നു os.path.exists(filepath) പാത്ത് നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കുന്നു (ഫയൽ അല്ലെങ്കിൽ ഡയറക്ടറി).
- എനിക്ക് ഉപയോഗിക്കാമോ os.path.exists നെറ്റ്വർക്ക് പാതകൾ പരിശോധിക്കുന്നതിന്?
- അതെ, os.path.exists നെറ്റ്വർക്ക് റിസോഴ്സ് ആക്സസ് ചെയ്യാൻ കഴിയുന്നിടത്തോളം നെറ്റ്വർക്ക് പാതകൾ പരിശോധിക്കാൻ ഉപയോഗിക്കാം.
- എന്താണ് ഒരു പ്രായോഗിക ഉപയോഗം pathlib കഴിഞ്ഞു os.path?
- pathlib പോലുള്ള രീതികൾ ഉപയോഗിച്ച് പാതകൾ കൈകാര്യം ചെയ്യാൻ കൂടുതൽ അവബോധജന്യവും വായിക്കാവുന്നതുമായ മാർഗം നൽകുന്നു .is_file() ഒപ്പം .is_dir().
- കഴിയും os.path പ്രതീകാത്മക ലിങ്കുകൾ കൈകാര്യം ചെയ്യണോ?
- അതെ, os.path പോലുള്ള രീതികൾ os.path.islink(filepath) ഒരു പാത ഒരു പ്രതീകാത്മക ലിങ്കാണോ എന്ന് പരിശോധിക്കാം.
- അസ്തിത്വം പരിശോധിക്കുമ്പോൾ ഫയൽ വലുപ്പം പരിശോധിക്കാൻ എന്തെങ്കിലും രീതിയുണ്ടോ?
- അതെ, നിങ്ങൾക്ക് ഉപയോഗിക്കാം os.path.getsize(filepath) ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഫയൽ വലുപ്പം ലഭിക്കുന്നതിന്.
ചർച്ച അവസാനിപ്പിക്കുന്നു
ഒഴിവാക്കലുകളില്ലാതെ പൈത്തണിൽ ഫയൽ നിലനിൽപ്പ് പരിശോധിക്കുന്നത് വ്യത്യസ്ത രീതികൾ ഉപയോഗിച്ച് കാര്യക്ഷമമായി നേടാനാകും. ദി os.path മൊഡ്യൂൾ നേരായ പരിഹാരങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു, അതേസമയം pathlib മൊഡ്യൂൾ ഒരു ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് സമീപനം നൽകുന്നു. ദി os.access അനുമതി പരിശോധനകൾക്കൊപ്പം രീതി വൈവിധ്യം ചേർക്കുന്നു. ഈ രീതികൾ ഓരോന്നും വൃത്തിയുള്ളതും കൂടുതൽ പരിപാലിക്കാവുന്നതുമായ കോഡ് സൃഷ്ടിക്കാൻ സഹായിക്കുന്നു. ഈ ടെക്നിക്കുകൾ മനസ്സിലാക്കുകയും ഉപയോഗിക്കുകയും ചെയ്യുന്നതിലൂടെ, നിങ്ങളുടെ പ്രോഗ്രാമുകൾ സുഗമമായും പിശകുകളില്ലാതെയും പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കിക്കൊണ്ട്, പൈത്തണിൽ നിങ്ങളുടെ ഫയൽ കൈകാര്യം ചെയ്യാനുള്ള കഴിവുകൾ വർദ്ധിപ്പിക്കാൻ കഴിയും.