पायथन shutil.move() मेथड एक फाइल को आपके कंप्यूटर पर किसी अन्य स्थान पर ले जाता है। यह मेथड shutil मॉड्यूल का हिस्सा है, जिसे इस मेथड का उपयोग करने से पहले आयात करना होगा।
फाइलों को मूव करना पायथन प्रोग्राम्स में एक सामान्य ऑपरेशन है। उदाहरण के लिए, मान लें कि आप एक ऐसा प्रोग्राम बना रहे हैं जो फाइलें जेनरेट करता है। आप एक फोल्डर से सभी मौजूदा फाइलों को कहीं और मूव करना चाह सकते हैं, ताकि आप जिन नई फाइलों को बनाना चाहते हैं, उनके लिए जगह बना सकें।
यहीं पर shutil.move() फंक्शन काम आता है। shutil.move() फंक्शन आपको अपने सिस्टम पर एक फाइल को एक फोल्डर से दूसरे फोल्डर में मूव करने की अनुमति देता है। यह ट्यूटोरियल उदाहरणों के संदर्भ में चर्चा करेगा कि आप अपने कोड को मूव करने के लिए shutil.move() फंक्शन का उपयोग कैसे कर सकते हैं।
पायथन shutil
shutil मॉड्यूल फाइलों पर निष्पादित किए जा सकने वाले हाई-लेवल ऑपरेशन्स की एक विस्तृत श्रृंखला प्रदान करता है। os लाइब्रेरी के विपरीत, shutil फाइलों के संग्रह पर निष्पादित किए जा सकने वाले फंक्शन्स के साथ आता है।
इस ट्यूटोरियल के लिए, हम shutil.move() फंक्शन पर ध्यान केंद्रित करने जा रहे हैं, जो हमें पायथन का उपयोग करके एक फाइल को मूव करने की अनुमति देता है।
इससे पहले कि हम move() फंक्शन का पता लगाएं, हमें पहले अपने कोड में shutil लाइब्रेरी को आयात करना होगा। हम इसे इस पायथन इम्पोर्ट स्टेटमेंट का उपयोग करके कर सकते हैं:
import shutil
पायथन फाइल मूव करें
shutil.move() फंक्शन आपके कंप्यूटर पर एक फाइल को मूव करता है। यह मेथड उस फाइल का फाइल पथ स्वीकार करता है जिसे आप मूव करना चाहते हैं और नए फाइल पथ को आर्गुमेंट्स के रूप में।
इस फंक्शन का सिंटैक्स इस प्रकार है:
shutil.move(source, destination)
shutil.move() दो पैरामीटर्स स्वीकार करता है, जो हैं:
- source path: उस फाइल का फाइल पथ जिसे आप मूव करना चाहते हैं।
- destination path: वह फाइल पथ जहां आप अपनी फाइल को मूव करना चाहते हैं।
move() फंक्शन आपके द्वारा मूव की गई फाइल का पथ लौटाता है।
यदि आपका डेस्टिनेशन किसी अन्य फाइल से मेल खाता है, तो मौजूदा फाइल ओवरराइट हो जाएगी।
आप जो फाइल पथ निर्दिष्ट करते हैं वे या तो निरपेक्ष या सापेक्ष हो सकते हैं।
निरपेक्ष फाइल पथ पूर्ण पथ होते हैं जो सीधे एक फाइल की ओर ले जाते हैं (यानी /home/career_karma/file.txt)। सापेक्ष फाइल पथ उस स्थान को संदर्भित करता है जो उस डायरेक्टरी के सापेक्ष है जिसमें आपका पायथन प्रोग्राम चलाया जा रहा है (यानी file.txt)।
यदि आप एक डेस्टिनेशन डायरेक्टरी निर्दिष्ट करते हैं जो मौजूद नहीं है, तो एक नई डायरेक्टरी बनाई जाएगी।
os लाइब्रेरी में os.rename() मेथड होता है जिसका उपयोग अक्सर फाइलों का नाम बदलने के लिए किया जाता है। यह मेथड फाइलों को मूव भी कर सकता है। लेकिन, shutil मेथड को विशेष रूप से फाइलों को मूव करने के लिए डिज़ाइन किया गया था। यदि आप एक फाइल मूव कर रहे हैं तो सिंटैक्स shutil.move() os.rename() की तुलना में समझने में आसान है।
पायथन फाइल मूव उदाहरण
आइए shutil.move() फंक्शन का उपयोग करने के कुछ उदाहरणों का पता लगाएं।
एक सिंगल फाइल मूव करें
मान लें कि हमारे पास raw_data.csv नामक एक फाइल है जिसे हम अपने वर्तमान वर्किंग डायरेक्टरी में data नामक डायरेक्टरी में मूव करना चाहते हैं। हम इसे इस कोड का उपयोग करके कर सकते हैं:
import shutil source = "raw_data.csv" destination = "data" new_path = shutil.move(source, destination) print(new_path)
हमारा कोड लौटाता है:
data/raw_data.csv
सबसे पहले, हमने shutil लाइब्रेरी को आयात किया है। अगला, हमने दो पायथन वेरिएबल्स घोषित किए हैं। source वेरिएबल उस फाइल का नाम संग्रहीत करता है जिसे हम मूव करना चाहते हैं। हमारा destination वेरिएबल उस डायरेक्टरी का नाम संग्रहीत करता है जिसमें हम अपनी फाइल को मूव करना चाहते हैं।
इस उदाहरण में, हमने अपने source और destination के लिए सापेक्ष फाइल पथ निर्दिष्ट किए हैं। इसका मतलब है कि फाइल raw_data.csv और डायरेक्टरी data हमारे पायथन फाइल के समान डायरेक्टरी में उनको संदर्भित करते हैं। यदि हमारी पायथन फाइल /home/career_karma/program में संग्रहीत है, तो हम जिस फाइल और डायरेक्टरी को संदर्भित करते हैं वे उस डायरेक्टरी में संग्रहीत होंगी।
अगला, हम अपनी फाइल को मूव करने के लिए shutil.move() का उपयोग करते हैं। हम ऑपरेशन के परिणाम को - मूव की गई फाइल का पथ - new_path वेरिएबल को असाइन करते हैं। अगला, हम new_path का मान प्रिंट करते हैं, जो हमारी नई फाइल का पथ लौटाता है।
हमने सफलतापूर्वक पायथन में एक फाइल मूव की है।
नोट: एक फाइल को मूव करने के लिए हमने जिस सिंटैक्स का उपयोग किया, उसी का उपयोग एक फोल्डर को मूव करने के लिए भी किया जा सकता है।
एक फाइल मूव करें और उसका नाम बदलें
shutil.move() फंक्शन आपको फाइल को मूव करने के बाद उसका नाम बदलने की अनुमति देता है।
मान लें कि हम raw_data.csv को data नामक फोल्डर में मूव करना चाहते हैं, और अपनी फाइल का नाम raw_data_2019.csv में बदलना चाहते हैं। हम इसे इस कोड का उपयोग करके कर सकते हैं:
import shutil source = "raw_data.csv" destination = "data/raw_data_2019.csv" new_path = shutil.move(source, destination) print(new_path)
हमारा कोड लौटाता है:
data/raw_data_2019.csv
जब हम अपनी नई फाइल के लिए डेस्टिनेशन निर्दिष्ट करते हैं, तो हम अपनी फाइल के लिए एक नया नाम भी निर्दिष्ट करते हैं। हम डेस्टिनेशन data/raw_data_2019.csv निर्दिष्ट करते हैं। इसका मतलब है कि जब हमारी फाइल मूव की जाएगी, तो इसे data डायरेक्टरी में मूव किया जाएगा। नई फाइल को नाम raw_data_2019.csv दिया जाएगा।
एकाधिक फाइलें मूव करें
हम shutil.move() फंक्शन का उपयोग एकाधिक फाइलों को मूव करने के लिए भी कर सकते हैं। ऐसा करने के लिए, हम os लाइब्रेरी का भी संदर्भ लेने जा रहे हैं। हम एक डायरेक्टरी में फाइलों की सूची प्राप्त करने के लिए os.listdir() मेथड का उपयोग कर सकते हैं।
मान लें कि हम /home/career_karma/data डायरेक्टरी में सभी फाइलों को /home/career_karma/old_data नामक एक नई डायरेक्टरी में मूव करना चाहते हैं। data डायरेक्टरी में निम्नलिखित फाइलें हैं:
- /home/career_karma/data/data.csv
- /home/career_karma/data/old_data.csv
हम इसे इस कोड का उपयोग करके कर सकते हैं:
import shutil
import os
source = "/home/career_karma/data"
destination = "/home/career_karma/old_data"
files = os.listdir(source)
for file in files:
new_path = shutil.move(f"{source}/{file}", destination)
print(new_path)
हमारा कोड लौटाता है:
/home/career_karma/old_data/data.csv /home/career_karma/old_data/old_data.csv
आइए हमारे कोड को तोड़ें। सबसे पहले, हम अपने प्रोग्राम में shutil और os लाइब्रेरी को आयात करते हैं। फिर, हम उस फोल्डर के लिए निरपेक्ष पथ निर्दिष्ट करते हैं जिसकी सामग्री को हम मूव करना चाहते हैं। हम उस डेस्टिनेशन के लिए पथ भी निर्दिष्ट करते हैं जिसमें हमारे फोल्डर की सामग्री को मूव किया जाना चाहिए।
अगला, हम उस फोल्डर में सभी फाइलों की एक लिस्ट पुनर्प्राप्त करने के लिए os.listdir() का उपयोग करते हैं जिसकी सामग्री को हम मूव करना चाहते हैं। हम इनमें से प्रत्येक फाइल के माध्यम से इटरेट करने के लिए एक पायथन for लूप का उपयोग करते हैं। फिर, हम प्रत्येक व्यक्तिगत फाइल को हमारे destination फोल्डर में मूव करने के लिए shutil.move() का उपयोग करते हैं।
हमारे move() फंक्शन में, हम उस फाइल का पूरा फाइल पथ निर्दिष्ट करने के लिए एक f-स्ट्रिंग का उपयोग करते हैं जिसे हम मूव करना चाहते हैं। हमारा कोड हमारी नई मूव की गई फाइलों का फाइल पथ प्रदर्शित करता है।
निष्कर्ष
shutil.move() फंक्शन एक फाइल को आपके कंप्यूटर पर एक स्थान से दूसरे स्थान पर मूव करता है। आपको उस फाइल का पथ निर्दिष्ट करना होगा जिसे आप मूव करना चाहते हैं साथ ही फाइल के लिए नया पथ भी।
क्या आप पायथन में कोडिंग के बारे में अधिक जानना चाहते हैं? हमारी "पायथन कैसे सीखें" गाइड देखें। आपको इस गाइड में पायथन सीखने पर विशेषज्ञ सलाह मिलेगी। हमारी गाइड में आपके ज्ञान का विस्तार करने में मदद करने के लिए शीर्ष सीखने के संसाधनों की एक सूची भी है।