تعلم بايثون؟ إليك كيفية نسخ ملف

تعلم بايثون؟ إليك كيفية نسخ ملف

هل تريد تحسين مهاراتك في بايثون؟ ثم يمكنك محاولة تنفيذ بعض المهام على جهاز الكمبيوتر الخاص بك باستخدام Python. يعد نسخ الملفات ولصقها من دليل إلى آخر باستخدام Python طريقة ممتعة للقيام بذلك.





بالإضافة إلى كونه ممتعًا ، فإنه يتيح لك قراءة الملفات وكتابتها بسرعة دون تشتيت انتباهك عن التعليمات البرمجية الخاصة بك. إذا كنت جديدًا على Python ، فهذه مهارة قد لا تزال بحاجة إلى اكتسابها بطريقة أو بأخرى. لذا ، دعنا نتعرف على كيفية نسخ الملفات باستخدام Python من خلال هذا المنشور.





متطلبات نسخ الملفات باستخدام بايثون

توجد طرق عديدة لنسخ الملفات ولصقها باستخدام Python. لذلك ، تختلف متطلبات القيام بذلك وتعتمد على الطريقة التي تقرر استخدامها.





على الرغم من أنك قد لا تحتاج إلى وحدات نمطية إضافية لنسخ الملفات باستخدام Python ، فلا يزال بإمكانك استخدام المكتبات المدمجة إذا كنت تريد ذلك.

على سبيل المثال ، إذا كنت تريد استخدام ملف أنت الطريقة ، فأنت بحاجة إلى استيراده إلى التعليمات البرمجية الخاصة بك. ومع ذلك ، فإن إحدى الطرق الشائعة لنسخ الملفات باستخدام Python هي استخدام ملحق شوتيل مكتبة.



دعونا نرى كيف يمكننا استخدام هذه الطرق المختلفة لنسخ الملفات باستخدام Python.

كيفية نسخ الملفات باستخدام مكتبة Shutil المضمنة في Python

ال شوتيل الوحدة النمطية هي مكتبة Python مضمنة وقوية لقراءة الملفات وكتابتها بسرعة في Python.





لاستخدامه ، ما عليك سوى توفير المسار الكامل لملفات المصدر والوجهة.

كيفية الحصول على نظام التشغيل Mac OS على نظام التشغيل windows

المضمون، شوتيل يأخذ هذا التنسيق:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

على سبيل المثال ، يستخدم الكود أدناه shutil.copy () لنسخ ملف باسم copy.txt من مجلد يسمى ملفي في اسم آخر وجهة . ثم يقوم بإعادة تسمية الملف الوجهة باسم newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

لاحظ أنه يمكنك كتابة التعليمات البرمجية الخاصة بك في أي محرر كود من اختيارك. يمكنك بعد ذلك تشغيله باستخدام سطر الأوامر.

ومع ذلك ، يمكنك أيضًا استخدام Python Integrated Development Environment (IDLE) الافتراضية إذا لم تكن معتادًا على تشغيل Python عبر سطر الأوامر.

متعلق ب: أوامر موجه الأوامر (CMD) التي يجب أن تعرفها

ال شوتيل نسخه الطريقة لا تنسخ البيانات الوصفية للملف المصدر. في الأساس ، يرى جهازك الملف الوجهة على أنه ملف جديد تمامًا ويمنحه بيانات وصفية جديدة.

ومع ذلك ، لنسخ البيانات الأولية مع الملف الأصلي ، استخدم الامتداد نسخة 2 طريقة:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

الطريقة أعلاه تحافظ على البيانات الأولية الأصلية للملف القديم في الملف الوجهة. على سبيل المثال ، يحتفظ الملف الوجهة بتاريخ إنشاء الملف المصدر وحجمه والسمات الأخرى.

ال Follow_symlinks الحجة هي إعلان ارتباط رمزي يتيح شوتيل اتبع طريقًا مطلقًا. لذلك تحتاج إلى تضمينه إذا كان الملفان المصدر والوجهة في دلائل مختلفة.

ولكن إذا كان كلا الملفين موجودين في دليل العمل الحالي ، فلن تحتاج إلى تضمين ملف Follow_symlinks . إذا قمت بذلك ، فإن Python تثير استثناءً في بناء الجملة.

ويندوز 7 في نهاية المطاف مقابل ويندوز 10

لذلك ، إذا كنت تقوم بلصق الملف المصدر في دليل العمل الحالي الخاص بك ، فيجب أن تبدو التعليمات البرمجية الخاصة بك كما يلي:

import shutil
shutil.copy2(sourceFile, destinationFile)

بالإضافة إلى استخدام طرق الإغلاق أعلاه ، يمكنك أيضًا استخدام shutil.copyfile أو shutil.copyfileobj .

استخدام shutil.copyfileobj يختلف قليلاً لأنه يتطلب مدمج افتح وظيفة. بعد ذلك ، تحتاج إلى قراءة وكتابة الملف الثنائي بتضمين ملف 'rb' و 'wb' الحجج.

دعونا نرى كيف shutil.copyfileobj تعمل الطريقة باستخدام نفس الدلائل التي استخدمناها سابقًا:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

لاحظ أن shutil.copyfileobj () لا يتطلب Follow_symlinks جدال.

لكن، shutil.copyfile () يعمل بنفس الطريقة .ينسخ و .copy2 هل. هم فقط يختلفون بشكل ضئيل في وظائفهم الداخلية.

لاستخدام ال shutil.copyfile () طريقة:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

كيفية نسخ الملفات باستخدام وحدة نظام التشغيل

ال أنت تستخدم الوحدة طريقتين مدمجتين لنسخ الملفات ؛ os.system () و os.popen () أساليب.

ال os.system () تسمح لك الطريقة بتقليد بيئة سطر الأوامر.

ومع ذلك ، فإن أحد أوجه القصور في طرق نظام التشغيل هو أنها تنسخ فقط الملفات الموجودة في دليل العمل الحالي الخاص بك.

لاستخدام ال os.system () الطريقة على Windows:

import os
os.system('copy source.txt destination.txt)

يمكنك أيضًا استخدام ملف اكسكوبي أمر Windows Terminal:

import os
os.system('xcopy source.txt destination.txt)

لاستخدام ال os.system طريقة على Linux ، استبدل ينسخ مع cp :

import os
os.system('cp source.txt destination.txt)

كيفية نسخ الملفات باستخدام طريقة os.popen

لاستخدام هذه الطريقة ، استبدل os.system () مع os.popen () .

على نظام Windows ، استخدم:

import os
os.popen('copy source.txt destination.txt)

كما فعلنا مع os.system () ، يحل محل ينسخ مع cp لاستخدام هذه الطريقة على Linux:

import os
os.popen('cp source.txt destination.txt)

كيفية نسخ الملفات باستخدام وحدة المعالجة الفرعية بيثون

بالإضافة إلى الطرق المذكورة أعلاه ، يمكنك أيضًا استخدام ملف عملية فرعية () مكتبة لنسخ الملفات في بايثون:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

ومع ذلك ، في Linux ، استخدم:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

ال عملية فرعية تستخدم المكتبة أيضًا subprocess.check_out () طريقة. وهو يعمل بنفس الطريقة subprocess.call () هل:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

في Linux ، استبدل ينسخ مع cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

ومع ذلك ، مثل طرق نظام التشغيل ، تعمل طرق العمليات الفرعية فقط مع الملفات الموجودة في دليل العمل الحالي.

ملحوظة: يمكنك أيضًا نسخ الملفات إلى مجلد إذا كان في نفس دليل العمل مثل الملف المصدر. كل ما عليك فعله هو استبدال اسم الملف الوجهة باسم مجلد الوجهة. ومع ذلك ، تأكد من أن المجلد الوجهة والملف المصدر موجودان في دليل العمل الحالي.

كيفية نسخ الملفات في بايثون دون استخدام المكتبات

يمكنك أيضًا نسخ الملفات في Python دون الاعتماد على أي مكتبة. مثل طريقة الإغلاق ، تحتاج فقط إلى المسارات الكاملة لمجلدي المصدر والوجهة.

كيفية مشاهدة العروض مع الأصدقاء عبر الإنترنت

إليك كيفية تحقيق ذلك:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

لجعل الكود قابلاً لإعادة الاستخدام ، يمكنك تعديله إلى دالة:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

هذا كل شيء. لقد صنعت للتو آلة نسخ ملفات قابلة لإعادة الاستخدام باستخدام Python دون استخدام أي مكتبة.

استمر في أتمتة المهام باستخدام Python

بالإضافة إلى مساعدتك في الاستمرار في التركيز على التعليمات البرمجية الخاصة بك أثناء إنشاء المشاريع ، فإن نسخ الملفات باستخدام Python يتيح لك فهم إدارة الملفات بشكل أفضل باستخدام Python. ومع ذلك ، فإن اللعب بمهام Python هو وسيلة لتحسين مهاراتك في Python ، خاصةً إذا كنت مبتدئًا.

على سبيل المثال ، يمكنك تغيير التاريخ والوقت على جهاز الكمبيوتر الخاص بك باستخدام وحدة نظام التشغيل. يمكنك حتى كتابة أوامر bash مخصصة باستخدام Python إذا كنت تريد ذلك.

يشارك يشارك سقسقة بريد الالكتروني كيفية إنشاء برامج سطر الأوامر الخاصة بك في Python بنقرة واحدة

هل تريد إنشاء برامج سطر أوامر Python الخاصة بك ولكن تجدها صعبة للغاية؟ استخدم Click ، ​​وهي أداة مفيدة في Python لتبسيط التعليمات البرمجية الخاصة بك.

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • بايثون
نبذة عن الكاتب إديسو أوميسولا(94 مقالة منشورة)

Idowu شغوف بأي شيء التكنولوجيا الذكية والإنتاجية. في أوقات فراغه ، يلعب بالبرمجة ويتحول إلى رقعة الشطرنج عندما يشعر بالملل ، لكنه أيضًا يحب الابتعاد عن الروتين من حين لآخر. يحفزه شغفه بإظهار طريقة حول التكنولوجيا الحديثة للناس على كتابة المزيد.

المزيد من Idowu Omisola

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك