اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

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

يُمنع كتابة مواضيع السحر والشعوذة والروحانيات والابراج بكافة الأشكال والمخالف سيعاقب بحظر مؤقت وإذا تكرر سيكون حظر دائم تنبيه هام جداً



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 01-03-2019, 10:21 AM   #1
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
افتراضي إنشاء وحدة خاصة بك

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

سننشئ في هذا المثال وحدة لحساب مربّع عدد ومكعّبه، أي أنّ الوحدة ستحتوي على دالتين square لحساب مُربّع العدد، و cube لحساب مُكعّبه، أنشئ ملفا باسم num.py وضع به ما يلي:

mill = 1000000

def square(x):
return x * x

def cube(x):
return x * x * x
لقد أنشأت الآن وحدة يُمكن أن يستعملها غيرك من المُبرمجين. افتح مُفسّر بايثون واستورد الوحدة num وبعدها جرّب استعمال الدالتين على عدد معيّن:

>>> import num
>>> num.square(3)
9
>>> num.cube(3)
27
>>> num.mill
1000000
لاحظ بأنّنا استطعنا الوصول إلى قيمة المُتغيّر mill كذلك.

يُمكن كذلك استدعاء دالة واحدة فقط:

>>> from num import cube
>>> cube(3)
27
توثيق الوحدة
يُمكنك توثيق الوحدة ليسهل على المبرمجين فهم الدوال ووظائفها، وذلك باستعمال سلسلة التوثيق Docstring تكون داخل ثلاث علامات تنصيص كالتّالي:

"""The num module provides utilties to work on numbers.
"""

mill = 1000000

def square(x):
"""Computes square of a number."""
return x * x

def cube(x):
"""Computes cube of a number."""
return x * x
إذا نفّذت الأمر pydoc على الوحدة، فستجد أن التوثيق قد أضيف تلقائيا.

Help on module num:

NAME
num - The num module provides utilties to work on numbers.

FILE
/home/dyouri/num.py

FUNCTIONS
cube(x)
Computes cube of a number.

square(x)
Computes square of a number.

DATA
mill = 1000000
الوحدة OS
تُمكّن الوحدة os من إجراء عمليات نظام التّشغيل مثل إنشاء المجلّدات وعرض قائمة بالملفات المتواجدة بمجلّد معيّن، أو حتى حذف مُجلّد أو ملف بلغة بايثون.

عرض مسار مجلد العمل الحالي
يُمكنك أن تحصل على مسار المجلّد الحالي بالدّالة getcwd وهي اختصار لـ get current working direcrtory أي (احصل على مُجلّد العمل الحالي)، ويُمكن تنفيذ الدّالة كالتّالي:

>>> import os
>>> os.getcwd()
'/home/dyouri'
إذا كنت تستعمل مُفسّر بايثون في Windows، فالمُخرج سيكون مشابها لما يلي:

'C:\Python27'
إنشاء مجلد جديد
يُمكنك إنشاء مُجلّد بالدالة mkdir مع تمرير اسم المُجلّد كمُعامل:

>>> import os
>>> os.mkdir('New Folder')
بعد تنفيذ الأمر ستجد بأنّ المجلّد قد أضيف إلى قائمة المُجلّدات.

عرض مكونات مجلد معين
يُمكنك كذلك عرض مُكونات مُجلّد بالدّالة listdir وسيكون المخرج عبارة عن قائمة بأسماء الملفات والمجلّدات الموجودة في المسار المُمرّر للدالة. في هذه الحالة سنُمرّر مسار المُجلّد الحالي.

dir = os.getcwd()
os.listdir(dir)
يُمكنك عرض كل عنصر في سطر بحلقة for.

dir = os.getcwd()
list = os.listdir(dir)

for item in list:
print item
إعادة تسمية ملف أو مجلد
يُمكنك إعادة تسمية ملفّ أو مُجلّد بالدّالة rename كما يلي:

os.rename('Old', 'New')
حيث Old هو الاسم القديم، وNew هو الاسم الجديد.

حذف ملف
لحذف ملف يكفي استخدام الدالة remove، مع تمرير مسار الملف.

os.remove('file.txt')
حذف مجلد فارغ
يُمكن حذف مُجلّد فارغ بالدّالة rmdir مع تمرير مسار المجلّد المرغوب حذفه.

os.rmdir('New Folder')
إذا أردت أن تحذف مجلّدا يحتوي على ملفات فيمكن استخدام وحدة Shutil. (انظر القسم التالي).

تنفيذ أوامر النظام
أوامر النّظام هي الأوامر التي تستطيع تنفيذها من الطّرفيّة Terminal أو من برنامج Cmd على Windows.

يُمكنك تنفيذ أوامر النّظام عبر الدالة system وذلك بتمرير الأمر كمُعامل.

os.system('ls')
الوحدة Shutil
تُمكّن الوحدة Shutil من إجراء عمليات على الملفات والمجلّدات، مثل نسخ ملف من مسار إلى مسار آخر أو نقله، أو حذف مُجلّد كامل.

حذف مجلد
كما أشرنا سابقا، تستطيع استخدام os.rmdir لحذف مُجلّد فارغ، لكن ماذا لو أردت حذف به ملفات؟

يُمكنك استخدام الدّالة rmtree من وحدة shutil للقيام بذلك.

import shutil
shutil.rmtree('Folder')
نسخ ملف
يُمكنك استخدام الدّالة copy لنسخ ملف من مسار إلى مسار آخر، الدالة تقبل مُعاملين، المُعامل الأول يُمثّل مسار الملف المراد نسخه، والمُعامل الثاني يُمثّل مسار الملفّ المراد النّسخ إليه.

shutil.copy('file.txt', 'Folder/file.txt')
نقل ملف
لنقل ملفّ يُمكن استخدام الدّالة move عوضا عن الدالة copy الخاصّة بالنّسخ.

shutil.move('file.txt', 'Folder/file.txt')
تمرير معاملات إلى ملف بايثون من الطرفية بالوحدة Sys
تُمكّننا الوحدة sys من تمرير مُعاملات عند تشغيل ملف مكتوب بلغة بايثون، فمثلا يُمكنك أن تكتب برنامجا للطّباعة دون الحاجة إلى الدّخول إلى مُفسّر بايثون. سيكون اسم الملف مثلا print.py وسنمكن من تمرير مُعامل له عند تشغيله كالتالي:

python print.py 'Hello World!'
يُمكن الحصول على المُعاملات الممرّرة على شكل قائمة، وهي مخزّنة في المُتغيّر argv من الوحدة sys.

أنشئ ملفا باسم print.py وضع به ما يلي:

import sys
print sys.argv
إذا قُمت بتشغيل الملفّ مع تمرير معامل أو أكثر فستُطبع قائمة تحتوي على جميع هذه المُعاملات.

جرّب تنفيذ الملف مع تمرير كلمة hello كمُعامل.

python print.py hello
ستجد بأنّ المُخرج سيكون عبارة عن قائمة بعنصرين:

['print.py', 'hello']
العنصر الأول هو اسم الملفّ، والعنصر الثاني هو ما قُمنا بتمريره.

يُمكنك بالطّبع الوصول إلى عنصر محدّد فقط بتحديد رقمه من القائمة:

import sys
print sys.argv[1]
في الشيفرة أعلاه، قمنا بطباعة العنصر الثاني. إذا كرّرت أمر التّشغيل السّابق ستُلاحظ بأنّ المُخرج هو كلمة hello فقط.

لتمرير جملة، يكفي إحاطتها بعلامتي التّنصيص.

python print.py 'Hello World!

مهرة النجدية غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
إنشاء مدونة باستخدام Express (الجزء 3): إنشاء نظام المستخدمين مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 28-07-2019 04:42 PM
إنشاء أنواع منشورات مُخصّصة (Custom Post Types) في مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 28-07-2019 11:07 AM
إنشاء مجتمع باستخدام ووردبريس مُتعدّد المواقع مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 22-07-2019 07:19 PM
إنشاء مجتمع باستخدام ووردبريس مُتعدّد المواقع مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 22-07-2019 07:02 PM
طرق كسب المال عبر الإنترنت باستخدام ووردبريس raheel قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 27-03-2019 07:04 PM


الساعة الآن 06:23 AM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.