फ़ाइल कॉपी करें Python:shutil.copy(),shutil.copystat() विधि
Python फ़ाइल कॉपी करने के तरीके
Python फ़ाइलों को आसानी से कॉपी करने के लिए इन-बिल्ट फ़ंक्शन प्रदान करता है Operaसिस्टम शैल उपयोगिताओं का उपयोग करना.
फ़ाइल कॉपी करने के लिए निम्न कमांड का उपयोग किया जाता है
shutil.copy(src,dst)
मेटाडेटा जानकारी के साथ फ़ाइल कॉपी करने के लिए निम्न कमांड का उपयोग किया जाता है
shutil.copystat(src,dst)
किसी फ़ाइल को कॉपी कैसे करें? Python
फ़ाइल को कॉपी करने के चरण यहां दिए गए हैं Python शुटिल कॉपी() विधि का उपयोग करके:
चरण 1) वर्तमान निर्देशिका में मूल पथ कैप्चर करें
किसी फ़ाइल को कॉपी करने से पहले, हमें मौजूदा डायरेक्टरी में मूल फ़ाइल का पथ प्राप्त करना होगा। कोड में –
- चर घोषित करना
- चर पर विभाजन फ़ंक्शन लागू करना
कोड स्पष्टीकरण
- सबसे पहले हम यह जाँचने जा रहे हैं कि हमारी “guru99.txt” फ़ाइल मौजूद है या नहीं। चूँकि हमने पहले ही guru99.txt फ़ाइल बना ली है, इसलिए हम जानते हैं कि यह मौजूद है, और हम कोड के साथ आगे बढ़ेंगे
- हम फ़ाइल पथ को वेरिएबल में संग्रहीत करते हैं “"” यदि आपकी फ़ाइल मौजूद है
- एक बार जब हमें पथ मिल जाता है, तो हम पथ और फ़ाइल नाम को अलग कर देते हैं
- इसके लिए हम विभाजन का उपयोग करने जा रहे हैं
path.split
स्रोत चर पर फ़ंक्शन - निष्पादित होने पर कोड प्रिंट करता है “फ़ाइल नाम" तथा "फ़ाइल पथ" अलग से
चरण 2) शुटिल मॉड्यूल का उपयोग करके हमारी मौजूदा फ़ाइल की एक प्रतिलिपि बनाएँ
हम मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए शुटिल मॉड्यूल का उपयोग करते हैं। यहाँ हमने अपनी मौजूदा फ़ाइल “guru99.txt” की एक प्रतिलिपि बनाई।
कोड स्पष्टीकरण
- मूल फ़ाइल नाम “guru99.txt” लें और अंत में .bak अक्षर जोड़ें “guru99.txt.bak”। .bak एक्सटेंशन वाला यह नाम हमारी डुप्लिकेट कॉपी बनने जा रहा है।
- और फिर हम स्रोत से गंतव्य तक कॉपी करने के लिए उपयोगिता की कॉपी फ़ंक्शन का उपयोग करने जा रहे हैं
- जब आप कोड चलाएंगे, तो आप देखेंगे कि पैनल के दाईं ओर .bak एक्सटेंशन वाली एक डुप्लिकेट फ़ाइल बनाई गई है
चरण 3) फ़ाइल से संबंधित मेटा-डेटा, फ़ाइल अनुमति और अन्य जानकारी की प्रतिलिपि बनाएँ
कॉपी फ़ंक्शन केवल फ़ाइल की सामग्री की प्रतिलिपि बनाता है, लेकिन कोई अन्य जानकारी नहीं। कॉपी करने के लिए मेटा डेटा फ़ाइल से जुड़ी जानकारी, फ़ाइल अनुमति और अन्य जानकारी जिसका आपको उपयोग करना है “कॉपीस्टेट” फ़ंक्शन। इस कोड को चलाने से पहले, हमें अपनी कॉपी फ़ाइल “guru99.text.bak” को हटाना होगा।
एक बार जब आप फ़ाइल हटा देते हैं और प्रोग्राम चलाते हैं तो यह आपकी .txt फ़ाइल की एक प्रतिलिपि बना देगा लेकिन इस बार सभी जानकारी के साथ जैसे फ़ाइल अनुमति, संशोधन समय और मेटा-डेटा जानकारीआप जानकारी को सत्यापित करने के लिए अपने ओएस शेल पर जा सकते हैं।
कोड यहाँ है
import os import shutil from os import path def main(): # make a duplicate of an existing file if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); #seperate the path from the filter head, tail = path.split(src) print("path:" +head) print("file:" +tail) #let's make a backup copy by appending "bak" to the name dst = src+".bak" # nowuse the shell to make a copy of the file shutil.copy(src, dst) #copy over the permissions,modification shutil.copystat(src,dst) if __name__=="__main__": main()
चरण 4) जानकारी प्राप्त करें
आप अंतिम बार संशोधित पाठ फ़ाइल के बारे में जानकारी प्राप्त कर सकते हैं
-
कोड लाइन#15- यह दिन, तारीख, महीना, साल और समय बताता है जब .txt फ़ाइल (guru99) को अंतिम बार संशोधित किया गया था। हम फ़ाइल संशोधन समय विवरण प्राप्त करने के लिए पथ मॉड्यूल का उपयोग करते हैं, और फिर हम इसका उपयोग करने जा रहे हैं समय वर्ग सी समय फ़ंक्शन इसे पढ़ने योग्य समय में बदलने के लिए। इसलिए जब हम कोड चलाते हैं, तो हम देख सकते हैं कि फ़ाइल guru99.txt को अंतिम बार संशोधित किया गया था सोम, 8 जनवरीth 13:35 2018 पर।
-
कोड लाइन#17- यह फ़ाइल संशोधन के बारे में जानकारी देने का वही काम करता है, लेकिन इसे दर्शाने के लिए इसका प्रारूप अलग है। यहाँ हम उपयोग करते हैं संशोधन समय फ़ंक्शन प्राप्त करें (path.getmtime(“guru99.txt”)). अब c time फ़ंक्शन का उपयोग करने के बजाय हम उपयोग करने जा रहे हैं टाइम स्टैम्प फ़ंक्शन से और एक दिनांक समय ऑब्जेक्ट का निर्माण करने जा रहा है। आउटपुट में, आप देख सकते हैं कि फ़ाइल संशोधन समय विवरण अलग प्रारूप में मुद्रित किया गया है 2018-01-08, 13:35:51.334072
कोड यहाँ है
# # Example file for working with o.s path module import os from os import path import datetime from datetime import date, time, timedelta import time def main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak"))) if __name__ == "__main__": main()
सारांश
- कोड का उपयोग करके मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए Shutil.copy (src,dst)
- मूल फ़ाइल की सभी जानकारी को डुप्लिकेट फ़ाइल में कॉपी करने के लिए फ़ाइल अनुमति, संशोधन समय या मेटा-डेटा जानकारी उपयोग कोड द्वाराshutil.copystat(src,dst)