هل تريد تحسين مهاراتك في بايثون؟ ثم يمكنك محاولة تنفيذ بعض المهام على جهاز الكمبيوتر الخاص بك باستخدام Python. يعد نسخ الملفات ولصقها من دليل إلى آخر باستخدام Python طريقة ممتعة للقيام بذلك.
بالإضافة إلى كونه ممتعًا ، فإنه يتيح لك قراءة الملفات وكتابتها بسرعة دون تشتيت انتباهك عن التعليمات البرمجية الخاصة بك. إذا كنت جديدًا على Python ، فهذه مهارة قد لا تزال بحاجة إلى اكتسابها بطريقة أو بأخرى. لذا ، دعنا نتعرف على كيفية نسخ الملفات باستخدام Python من خلال هذا المنشور.
متطلبات نسخ الملفات باستخدام بايثون
هناك العديد من الطرق لنسخ الملفات ولصقها باستخدام Python. لذلك ، تختلف متطلبات القيام بذلك وتعتمد على الطريقة التي تقرر استخدامها.
على الرغم من أنك قد لا تحتاج إلى وحدات نمطية إضافية لنسخ الملفات باستخدام Python ، فلا يزال بإمكانك استخدام المكتبات المدمجة إذا كنت تريد ذلك.
على سبيل المثال ، إذا كنت تريد استخدام ملف نظام التشغيل الطريقة ، فأنت بحاجة إلى استيراده إلى التعليمات البرمجية الخاصة بك. ومع ذلك ، فإن إحدى الطرق الشائعة لنسخ الملفات باستخدام Python هي استخدام ملحق شوتيل مكتبة.
دعونا نرى كيف يمكننا استخدام هذه الطرق المختلفة لنسخ الملفات باستخدام Python.
كيفية نسخ الملفات باستخدام مكتبة Shutil المضمنة في Python
ال شوتيل الوحدة النمطية هي مكتبة Python مضمنة وقوية لقراءة الملفات وكتابتها بسرعة في Python.
لاستخدامه ، ما عليك سوى توفير المسار الكامل لملفات المصدر والوجهة.
المضمون، شوتيل يأخذ هذا التنسيق:
shutil.copy ([مسار الدليل المصدر] ، [مسار الدليل الوجهة] ، follow_symlinks = True)
على سبيل المثال ، يستخدم الكود أدناه shutil.copy () لنسخ ملف باسم copy.txt من مجلد يسمى ملفي في اسم آخر وجهة. ثم يقوم بإعادة تسمية الملف الوجهة باسم newFile.txt:
استيراد شيل
sourceFile = "C: / المستخدمون/some_directories/my_folder/copy.txt"
DestinationFile = "C: / المستخدمون/some_directories/destination/newFile.txt"
shutil.copy (ملف المصدر ، ملف الوجهة ، follow_symlinks = True)
لاحظ أنه يمكنك كتابة الكود الخاص بك أي محرر كود من اختيارك. يمكنك بعد ذلك تشغيله باستخدام سطر الأوامر.
ومع ذلك ، يمكنك أيضًا استخدام Python Integrated Development Environment (IDLE) الافتراضية إذا لم تكن معتادًا على تشغيل Python عبر سطر الأوامر.
متعلق ب: أوامر موجه الأوامر (CMD) التي يجب أن تعرفها
ال شوتيل نسخه الطريقة لا تنسخ البيانات الوصفية للملف المصدر. في الأساس ، يرى جهازك الملف الوجهة على أنه ملف جديد تمامًا ويمنحه بيانات وصفية جديدة.
ومع ذلك ، لنسخ البيانات الأولية مع الملف الأصلي ، استخدم الامتداد نسخة 2 طريقة:
استيراد شيل
shutil.copy2 (ملف المصدر ، ملف الوجهة ، follow_symlinks = True)
الطريقة أعلاه تحافظ على البيانات الأولية الأصلية للملف القديم في الملف الوجهة. على سبيل المثال ، يحتفظ الملف الوجهة بتاريخ إنشاء الملف المصدر وحجمه والسمات الأخرى.
ال Follow_symlinks الحجة عبارة عن إعلان ارتباط رمزي يتيح شوتيل اتبع طريقًا مطلقًا. لذلك تحتاج إلى تضمينه إذا كان الملفان المصدر والوجهة في دلائل مختلفة.
ولكن إذا كان كلا الملفين موجودين في دليل العمل الحالي ، فلن تحتاج إلى تضمين ملف Follow_symlinks. إذا قمت بذلك ، فإن Python تثير استثناءً في بناء الجملة.
لذلك ، إذا كنت تقوم بلصق الملف المصدر في دليل العمل الحالي ، فيجب أن تبدو التعليمات البرمجية الخاصة بك كما يلي:
استيراد شيل
shutil.copy2 (ملف المصدر ، ملف الوجهة)
بالإضافة إلى استخدام طرق الإغلاق أعلاه ، يمكنك أيضًا استخدام shutil.copyfile أو shutil.copyfileobj.
استخدام shutil.copyfileobj يختلف قليلاً لأنه يتطلب مدمج افتح وظيفة. بعد ذلك ، تحتاج إلى قراءة وكتابة الملف الثنائي بتضمين ملف "rb" و "wb" الحجج.
دعونا نرى كيف shutil.copyfileobj تعمل الطريقة باستخدام نفس الدلائل التي استخدمناها سابقًا:
استيراد شيل
sourceFilePath = مفتوح ("C: / المستخدمون/some_directories/my_folder/copy.txt"، "rb")
DestinationFilePath = open ("C: / المستخدمون/some_directories/destination/newFile.txt"، "wb")
shutil.copyfileobj (sourceFilePath ، destinationFilePath)
لاحظ أن shutil.copyfileobj () لا يتطلب Follow_symlinks جدال.
ومع ذلك، shutil.copyfile () يعمل بنفس الطريقة .ينسخ و .copy2 يفعل. إنهم يختلفون بشكل طفيف فقط في وظائفهم الداخلية.
لاستخدام ال shutil.copyfile () طريقة:
استيراد شيل
sourceFilePath = "C: / المستخدمون/some_directories/my_folder/copy.txt"
DestinationFilePath = "C: / المستخدمون/some_directories/destination/newFile.txt"
shutil.copyfile (sourceFilePath ، destinationFilePath)
كيفية نسخ الملفات باستخدام وحدة نظام التشغيل
ال نظام التشغيل تستخدم الوحدة طريقتين مدمجتين لنسخ الملفات ؛ os.system () و os.popen () أساليب.
ال os.system () تسمح لك الطريقة بتقليد بيئة سطر الأوامر.
ومع ذلك ، فإن عيب طرق نظام التشغيل هو أنها تنسخ الملفات فقط داخل دليل العمل الحالي الخاص بك.
لاستخدام ال os.system () الطريقة على Windows:
استيراد نظام التشغيل
os.system ('copy source.txt destination.txt)
يمكنك أيضًا استخدام ملف اكسكوبي أمر Windows Terminal:
استيراد نظام التشغيل
os.system ('xcopy source.txt destination.txt)
لاستخدام ال os.system طريقة على Linux ، استبدل ينسخ مع cp:
استيراد نظام التشغيل
os.system ('cp source.txt destination.txt)
كيفية نسخ الملفات باستخدام طريقة os.popen
لاستخدام هذه الطريقة ، استبدل os.system () مع os.popen ().
على نظام Windows ، استخدم:
استيراد نظام التشغيل
os.popen ('نسخ source.txt destination.txt)
كما فعلنا مع os.system ()، يحل محل ينسخ مع cp لاستخدام هذه الطريقة على Linux:
استيراد نظام التشغيل
os.popen ('cp source.txt destination.txt)
كيفية نسخ الملفات باستخدام وحدة المعالجة الفرعية بيثون
بالإضافة إلى الطرق المذكورة أعلاه ، يمكنك أيضًا استخدام ملف عملية فرعية () مكتبة لنسخ الملفات في بايثون:
استيراد العمليات الفرعية كـ sp
sp.call ("نسخة ملف وجهة الملف" ، shell = True)
ومع ذلك ، في Linux ، استخدم:
استيراد العمليات الفرعية كـ sp
sp.call ("cp sourceFile destinationFile"، shell = True)
ال عملية فرعية تستخدم المكتبة أيضًا subprocess.check_out () طريقة. وهو يعمل بنفس الطريقة subprocess.call () يفعل:
استيراد العمليات الفرعية كـ sp
sp.check_out ("copy sourceFile destinationFile"، shell = True)
على Linux ، استبدل ينسخ مع cp:
استيراد العمليات الفرعية كـ sp
sp.check_out ("cp sourceFile destinationFIle"، shell = True)
ومع ذلك ، مثل طرق نظام التشغيل ، تعمل طرق العمليات الفرعية فقط مع الملفات الموجودة في دليل العمل الحالي.
ملحوظة: يمكنك أيضًا نسخ الملفات إلى مجلد إذا كان في نفس دليل العمل مثل الملف المصدر. كل ما عليك فعله هو استبدال اسم الملف الوجهة باسم مجلد الوجهة. ومع ذلك ، تأكد من أن المجلد الوجهة والملف المصدر موجودان في دليل العمل الحالي.
كيفية نسخ الملفات في Python دون استخدام المكتبات
يمكنك أيضًا نسخ الملفات في Python دون الاعتماد على أي مكتبة. مثل طريقة الإغلاق ، ما عليك سوى المسارات الكاملة لمجلدي المصدر والوجهة.
إليك كيفية تحقيق ذلك:
sourcePath = "C: / المستخدمون/source_directories/my_folder/copy.txt"
DestinationPath = "C: / المستخدمون/some_directories/destination_directories/newFile.txt"
مع open (sourcePath، "rb") كما يلي:
مع open (destinationPath، "wb") كملفي:
myfile.write (read.read ())
إلى اجعل الكود قابلاً لإعادة الاستخدام، يمكنك تعديلها إلى دالة:
def copyFile (المصدر = لا شيء ، الوجهة = لا شيء):
إذا لم يكن (المصدر والوجهة) == لا شيء:
مع فتح (المصدر ، "rb") على النحو التالي:
مع فتح (الوجهة ، "wb") كملفي:
myfile.write (read.read ())
آخر:
طباعة ("الرجاء إدخال مسارات المصدر والوجهة")
copyFile (sourcePath ، وجهة المسار)
هذا هو. لقد صنعت للتو آلة نسخ ملفات قابلة لإعادة الاستخدام باستخدام Python دون استخدام أي مكتبة.
استمر في أتمتة المهام باستخدام Python
بالإضافة إلى مساعدتك في الاستمرار في التركيز على التعليمات البرمجية الخاصة بك أثناء إنشاء المشاريع ، فإن نسخ الملفات باستخدام Python يتيح لك فهم إدارة الملفات بشكل أفضل باستخدام Python. ومع ذلك ، فإن اللعب بمهام Python هو وسيلة لتحسين مهاراتك في Python ، خاصةً إذا كنت مبتدئًا.
على سبيل المثال ، يمكنك تغيير التاريخ والوقت على جهاز الكمبيوتر الخاص بك باستخدام وحدة نظام التشغيل. يمكنك حتى كتابة أوامر bash مخصصة باستخدام Python إذا كنت تريد ذلك.
هل تريد إنشاء برامج سطر أوامر Python الخاصة بك ولكن تجدها صعبة للغاية؟ استخدم Click ، وهي أداة مفيدة في Python لتبسيط التعليمات البرمجية الخاصة بك.
- برمجة
- بايثون
Idowu شغوف بأي شيء التكنولوجيا الذكية والإنتاجية. في أوقات فراغه ، يلعب بالبرمجة ويتحول إلى رقعة الشطرنج عندما يشعر بالملل ، لكنه أيضًا يحب الابتعاد عن الروتين من حين لآخر. يحفزه شغفه بإظهار الطريق للناس حول التكنولوجيا الحديثة على كتابة المزيد.
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
خطوة أخرى أيضا…!
يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.