目次
- 1 1. परिचय
- 2 2. Python मा फाइल प्रतिलिपि गर्नको लागि तयारी
- 3 3. shutil मोड्युलको आधारभूत प्रयोग
- 4 4. डाइरेक्टरी सम्पूर्णलाई प्रतिलिपि गर्ने तरिका
- 5 5. ओवरराइट रोक्ने प्रविधि
- 6 6. Python मा फाइल सार्ने तरिका
- 7 7. Python मा फाइल प्रतिलिपि गर्ने उदाहरण कोड
- 8 8. अनुप्रयोग भाग: विशेष फाइल ढाँचाहरू मात्र कपी गर्ने तरिका
- 9 9. त्रुटि ह्यान्डलिंग र अपवाद प्रक्रिया
- 10 10. सारांश
1. परिचय
Python ले फाइल अपरेसनलाई सजिलै गर्नका लागि शक्तिशाली उपकरण प्रदान गर्दछ। त्यसमा पनि, फाइलको प्रतिलिपि बनाउने काम दैनिक कार्यहरू मध्ये एक हो। यस लेखमा, Python को मानक पुस्तकालयshutil
मोड्युल प्रयोग गरी, फाइल र डाइरेक्टरीलाई प्रभावकारी रूपमा प्रतिलिपि गर्ने तरिका प्रस्तुत गरिन्छ। विशिष्ट कोड उदाहरणहरूसँग, ओभरराइट रोक्ने प्रविधि, त्रुटि ह्यान्डलिङ, र थप उन्नत फाइल प्रतिलिपि गर्ने तरिकाहरू पनि चर्चा गरिनेछ।2. Python मा फाइल प्रतिलिपि गर्नको लागि तयारी
shutil
मोड्युलको आयात
shutil
मोड्युल Python को मानक पुस्तकालय हो, अतिरिक्त स्थापना आवश्यक छैन। तलको कोडले आयात गर्नुहोस्।import shutil
फाइलको प्रतिलिपि, स्थानान्तरण, मेटाउने जस्ता कार्यहरू सम्भव हुन्छ। साथै, os
मोड्युलसँग संयोजन गरेर, फाइल वा डाइरेक्टरीको अस्तित्व जाँच गर्न र त्रुटि ह्यान्डलिङलाई सुदृढ गर्न सकिन्छ।shutil
मोड्युलको फाइदा
shutil
मोड्युल सहज कार्य र सरल कोड संरचना विशेषता हो। विशेष गरी, फाइल वा डाइरेक्टरीको सम्पूर्ण एकैपटक कार्य आवश्यक परेमा, shutil
एक शक्तिशाली उपकरण बनिन्छ।
3. shutil मोड्युलको आधारभूत प्रयोग
shutil.copy()
को प्रयोग
shutil.copy()
फाइललाई प्रतिलिपि गर्ने आधारभूत कार्य हो। यो कार्यले मूल फाइललाई निर्दिष्ट नयाँ स्थानमा प्रतिलिपि गर्छ।import shutil
# फाइलको प्रतिलिपि
shutil.copy('original.txt', 'copy.txt')
यदि प्रतिलिपि गन्तव्यमा समान नामको फाइल पहिले नै छ भने, यसलाई अधिलेखित गरिन्छ।shutil.copy2()
को प्रयोग
shutil.copy2()
फाइलको मेटाडाटा (सिर्जना मिति, पहुँच अधिकार आदि) समेत समेटेर प्रतिलिपि गर्ने कार्य हो।import shutil
# फाइलको सामग्री र मेटाडाटा प्रतिलिपि गर्नु
shutil.copy2('original.txt', 'copy_with_metadata.txt')
यदि पूर्ण प्रतिलिपि बनाउनु परेमा यो उपयोगी हुन्छ।4. डाइरेक्टरी सम्पूर्णलाई प्रतिलिपि गर्ने तरिका
shutil.copytree()
को प्रयोग विधि
shutil.copytree()
डाइरेक्टरी सम्पूर्णलाई पुनरावृत्तिपूर्वक प्रतिलिपि गर्नको लागि एक फंक्शन हो। मूल डाइरेक्टरीभित्रका सबै फाइलहरू र सबडाइरेक्टरीहरूलाई नयाँ स्थानमा प्रतिलिपि गर्दछ।import shutil
# डाइरेक्टरीको प्रतिलिपि
shutil.copytree('source_directory', 'destination_directory')
तर, यदि प्रतिलिपि गन्तव्यमा समान नामको डाइरेक्टरी पहिले नै अवस्थित छ भने, त्रुटि उत्पन्न हुन्छ, त्यसैले पूर्वमा जाँच गर्न आवश्यक छ।प्रतिलिपि गर्दा बेवास्ता गर्ने फाइलहरू र डाइरेक्टरीको निर्दिष्टि
विशिष्ट फाइलहरू वा डाइरेक्टरीलाई प्रतिलिपि लक्ष्यबाट बाहिर निकाल्न,ignore
आर्गुमेन्टमा shutil.ignore_patterns()
प्रयोग गर्नुहोस्।import shutil
# .log फाइललाई बेवास्ता गरी प्रतिलिपि
shutil.copytree('source_directory', 'destination_directory', ignore=shutil.ignore_patterns('*.log'))
यो कोडले, .log
फाइललाई बाहिर निकालेर डाइरेक्टरी सम्पूर्णलाई प्रतिलिपि गर्दछ।5. ओवरराइट रोक्ने प्रविधि
os.path.exists()
प्रयोग गर्ने
shutil.copy()
वा shutil.copy2()
प्रयोग गर्दा, यदि समान नामको फाइल पहिले नै अवस्थित छ भने, डिफल्ट रूपमा ओवरराइट हुन्छ। यसलाई रोक्नको लागि, फाइलको अस्तित्वलाई पूर्वमा जाँच्नु आवश्यक छ।import shutil
import os
# ओवरराइट रोक्ने फाइल अस्तित्व जाँच
if not os.path.exists('copy.txt'):
shutil.copy('original.txt', 'copy.txt')
else:
print('फाइल पहिले नै अवस्थित छ। प्रतिलिपि स्किप गरियो।')
pathlib.Path.exists()
प्रयोग गर्ने
pathlib
प्रयोग गरेर, फाइलको अस्तित्व जाँचलाई अझ सहज रूपमा गर्न सकिन्छ।from pathlib import Path
# Path वस्तु प्रयोग गरेर अस्तित्व जाँच
dst = Path('copy.txt')
if not dst.exists():
shutil.copy('original.txt', dst)
else:
print('फाइल पहिले नै अवस्थित छ। प्रतिलिपि स्किप गरियो।')
6. Python मा फाइल सार्ने तरिका
shutil.move()
को प्रयोग
shutil.move()
फाइलहरू र डाइरेक्टरीहरूलाई अर्को स्थानमा सार्नको लागि प्रयोग हुने फङ्क्शन हो।import shutil
# फाइलको स्थानान्तरण
shutil.move('original.txt', 'new_folder/original.txt')
यदि गन्तव्य डाइरेक्टरी अवस्थित छैन भने, FileNotFoundError
न्न हुन्छ, त्यसैले पूर्वमा डाइरेक्टरीको अस्तित्व जाँच गर्नु र आवश्यक परे निर्माण गर्नु सिफारिस गरिन्छ।import shutil
import os
# डाइरेक्टरीको अस्तित्व जाँच र निर्माण
if not os.path.exists('new_folder'):
os.makedirs('new_folder')
# फाइलको स्थानान्तरण
shutil.move('original.txt', 'new_folder/original.txt')
7. Python मा फाइल प्रतिलिपि गर्ने उदाहरण कोड
फाइल प्रतिलिपि गर्ने उदाहरण
import shutil
# फाइल प्रतिलिपि
shutil.copy('data.txt', 'backup/data_backup.txt')
डाइरेक्टरी सम्पूर्ण प्रतिलिपि गर्ने उदाहरण
import shutil
# डाइरेक्टरी प्रतिलिपि
shutil.copytree('project_files', 'project_backup')
अधिलेखन रोक्नको लागि उदाहरण
import shutil
import os
# अधिलेखन नहुनको लागि प्रतिलिपि
if not os.path.exists('backup/report.txt'):
shutil.copy('report.txt', 'backup/report.txt')
else:
print('फाइल पहिले नै अवस्थित छ। प्रतिलिपि रोकियो।')
8. अनुप्रयोग भाग: विशेष फाइल ढाँचाहरू मात्र कपी गर्ने तरिका
glob
मोड्युल प्रयोग गर्दा, विशेष फाइल ढाँचाहरू (जस्तै .txt
वा .csv
) मात्र चयनात्मक रूपमा कपी गर्न सकिन्छ।import shutil
import glob
# .txt फाइलहरू सबै कपी गर्नुहोस्
for file in glob.glob('data/*.txt'):
shutil.copy(file, 'backup/')
यसले data
फोल्डरभित्रका सबै .txt
फाइलहरूलाई backup
फोल्डरमा कपी गर्दछ।9. त्रुटि ह्यान्डलिंग र अपवाद प्रक्रिया
फाइल सञ्चालनको क्रममा हुन सक्ने त्रुटिहरूको लागि अपवाद प्रक्रिया गर्नु अत्यन्त महत्वपूर्ण छ। उदाहरणका लागि, फाइल फेला नपर्नु वा अनुमति त्रुटि उत्पन्न हुनु जस्ता स्थितिहरू हुन सक्छन्।मूलभूत अपवाद प्रक्रिया थप्नु
import shutil
try:
shutil.copy('non_existent_file.txt', 'backup/')
except FileNotFoundError as e:
print(f'फाइल फेला परेन: {e}')
except PermissionError as e:
print(f'अनुमति त्रुटि उत्पन्न भयो: {e}')
except Exception as e:
print(f'अनपेक्षित त्रुटि उत्पन्न भयो: {e}')
यो कोडले विशिष्ट त्रुटिहरूलाई समात्छ र त्यसअनुसार प्रक्रिया गर्दछ।10. सारांश
Python कोshutil
मोड्युललाई प्रयोग गर्दा, फाइल र डाइरेक्टरीको प्रतिलिपि सजिलै गर्न सकिन्छ। ओभरराइट रोक्ने प्रविधिहरू, विशेष फाइलहरू मात्र प्रतिलिपि गर्ने तरिका, र थप त्रुटि ह्यान्डलिङ्ग थपेर, फाइल अपरेसनलाई अझ सुरक्षित र प्रभावकारी बनाइँन सक्छ। यस लेखलाई सन्दर्भको रूपमा लिई, दैनिक कार्यहरूमा Python को फाइल प्रतिलिपि प्रयोग गरेर हेर्नुहोस्।