الخميس، 10 ديسمبر 2020

كيفية تنصيب بيئة بايثون بيثون Python Environment Setup#

كيفية تنصيب بيئة بايثون بيثون Python Environment Setup#


كيفية تنصيب بيئة بايثون بيثون Python Environment Setup#

كيفية تنصيب بيئة بايثون بيثون Python Environment Setup#


Python متاح على مجموعة واسعة من المنصات بما في ذلك Linux و Mac OS X. دعنا نفهم كيفية إعداد بيئة Python الخاصة بنا.
 إعداد البيئة المحلية
 افتح نافذة طرفية واكتب "python" لمعرفة ما إذا كان مثبتًا بالفعل وأي إصدار تم تثبيته.
  • Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, etc.)
  • Win 9x/NT/2000
  • Macintosh (Intel, PPC, 68K)
  • OS/2
  • DOS (multiple versions)
  • PalmOS
  • Nokia mobile phones
  • Windows CE
  • Acorn/RISC OS
  • BeOS
  • Amiga
  • VMS/OpenVMS
  • QNX
  • VxWorks
  •  Java and .NET virtual machines
الحصول على بيثون
 تتوفر أحدث شفرة المصدر ، والحديثة ، والوثائق ، والأخبار ، وما إلى ذلك ، على موقع Python الرسمي https://www.python.org/
 يمكنك تنزيل وثائق Python من https://www.python.org/doc/. الوثائق متاحة بتنسيقات HTML و PDF و PostScript.
 تثبيت بايثون
 توزيع بايثون متاح لمجموعة واسعة من المنصات. تحتاج إلى تنزيل الكود الثنائي الذي ينطبق على النظام الأساسي فقط وتثبيت Python.
 إذا لم يكن الكود الثنائي الخاص بالنظام الأساسي متاحًا ، فأنت بحاجة إلى برنامج التحويل البرمجي C لتجميع التعليمات البرمجية المصدر يدويًا. يوفر تجميع التعليمات البرمجية المصدر مزيدًا من المرونة فيما يتعلق باختيار الميزات التي تحتاجها في التثبيت.
 فيما يلي نظرة عامة سريعة على تثبيت Python على منصات مختلفة -
تثبيت يونيكس ولينكس
 فيما يلي الخطوات البسيطة لتثبيت Python على جهاز Unix / Linux.
 افتح مستعرض ويب وانتقل إلى https://www.python.org/downloads/.
 اتبع الرابط لتنزيل الكود المصدري المضغوط المتاح لنظام يونكس / لينكس.
 تحميل واستخراج الملفات.
 تحرير ملف الوحدات النمطية / الإعداد إذا كنت ترغب في تخصيص بعض الخيارات.
 run. / script configuration 
 make
 make install
 يؤدي هذا إلى تثبيت Python في الموقع الافتراضي / usr / local / bin ومكتباتها في / usr / local / lib / pythonXX حيث XX هو إصدار Python.
تنصيب على ويندوز
 فيما يلي خطوات تثبيت Python على جهاز Windows.
 افتح مستعرض ويب وانتقل إلى https://www.python.org/downloads/.
 اتبع الرابط الخاص بملف python-XYZ.msi لمثبت Windows حيث XYZ هو الإصدار الذي تحتاج إلى تثبيته.
 لاستخدام هذا المثبت python-XYZ.msi ، يجب أن يدعم نظام Windows Microsoft Installer 2.0. احفظ ملف المثبت على جهازك المحلي ثم قم بتشغيله لمعرفة ما إذا كان جهازك يدعم MSI.
 قم بتشغيل الملف الذي تم تنزيله. وبذلك يرتفع معالج تثبيت Python ، وهو سهل الاستخدام حقًا. ما عليك سوى قبول الإعدادات الافتراضية ، وانتظر انتهاء التثبيت ، وقد انتهيت.
تثبيت ماكنتوش
 أجهزة Mac الأخيرة تأتي مع Python مثبتة ، لكن قد تكون قديمة لعدة سنوات. راجع http://www.python.org/download/mac/ للحصول على إرشادات حول الحصول على الإصدار الحالي بالإضافة إلى أدوات إضافية لدعم التطوير على نظام Mac. بالنسبة لنظام التشغيل Mac OS الأقدم قبل نظام التشغيل Mac OS X 10.3 (تم إصداره في عام 2003) ، يتوفر MacPython.
 يحافظ Jack Jansen على ذلك ويمكنك الحصول على حق الوصول الكامل إلى الوثائق بأكملها على موقعه على الويب - http://www.cwi.nl/~jack/macpython.html. يمكنك العثور على تفاصيل التثبيت الكاملة لتثبيت نظام التشغيل Mac OS.
تحديد المسار في يونكس / لينكس
 لإضافة دليل Python إلى مسار جلسة معينة في Unix -
 في csh shell - اكتب setenv PATH "$ PATH: / usr / local / bin / python" واضغط على Enter.
 في bash shell (Linux) - اكتب export PATH = "$ PATH: / usr / local / bin / python" واضغط على Enter.
 في sh أو ksh shell - اكتب PATH = "$ PATH: / usr / local / bin / python" ثم اضغط على Enter.
 ملاحظة - / usr / local / bin / python هو مسار دليل Python
 تحديد المسار في ويندوز
 لإضافة دليل Python إلى المسار لجلسة معينة في Windows -
 في موجه الأوامر - اكتب المسار٪ path٪ ؛ C: \ Python واضغط على Enter.
 ملاحظة - C: \ Python هو مسار دليل Python
متغيرات البيئة بايثون
 فيما يلي متغيرات البيئة المهمة ، والتي يمكن التعرف عليها بواسطة بايثون -
التسلسلالمتغير والوصف
1
PYTHONPATH
لها دور مشابه لـ PATH. يخبر هذا المتغير مترجم Python أين يمكن تحديد موقع ملفات الوحدة النمطية المستوردة في البرنامج. يجب أن يتضمن دليل مكتبة مصدر Python والأدلة التي تحتوي على شفرة مصدر Python. يتم أحيانًا تعيين PYTHONPATH بواسطة مُثبِّت Python.
2
PYTHONSTARTUP
يحتوي على مسار ملف التهيئة الذي يحتوي على شفرة مصدر Python. يتم تنفيذه في كل مرة تبدأ فيها المترجم. يدعى باسم .pythonrc.py في يونكس ويحتوي على أوامر تحميل الأدوات المساعدة أو تعديل PYTHONPATH.
3
PYTHONCASEOK
يتم استخدامه في Windows لإرشاد Python للعثور على أول تطابق غير متحسس لحالة الأحرف في بيان الاستيراد. اضبط هذا المتغير على أي قيمة لتنشيطه.
4
PYTHONHOME
إنه مسار بحث وحدة بديلة. عادةً ما يكون مضمنًا في دلائل PYTHONSTARTUP أو PYTHONPATH لتسهيل التبديل بين مكتبات الوحدات النمطية.
تشغيل بيثون
 هناك ثلاث طرق مختلفة لبدء بيثون -
 مترجم تفاعلي
 يمكنك بدء Python من Unix أو DOS أو أي نظام آخر يوفر لك مترجم سطر أوامر أو نافذة shell.
 أدخل بيثون سطر الأوامر.
 ابدأ الترميز على الفور في المترجم التفاعلي.
$python # Unix/Linux
or
python% # Unix/Linux
or
C:> python # Windows/DOS
فيما يلي قائمة بجميع خيارات سطر الأوامر المتاحة -
التسلسلالخيار والوصف
1
-d
ويوفر إخراج التصحيح debug.
2
-O
فإنه يولد bytecode الأمثل (مما أدى إلى ملفات .pyo).
3
-S
لا تقم بتشغيل موقع الاستيراد للبحث عن مسارات Python عند بدء التشغيل.
4
-v
إخراج مطوّل (تتبع تفصيلي لبيانات الاستيراد).
5
-X
تعطيل الاستثناءات المستندة إلى الحرف (استخدم فقط السلاسل) ؛ عفا عليها الزمن بدءا من الإصدار 1.6.
6
-c cmd
تشغيل بيثون النصي المرسلة كسلسلة امر
7
file
تشغيل بيثون النصي من ملف معين

Script from the Command-line

يمكن تنفيذ نص Python في سطر الأوامر من خلال استدعاء المترجم الشفوي في التطبيق الخاص بك ، كما في ما يلي -
$python script.py # Unix/Linux
or
python% script.py # Unix/Linux
or
C: >python script.py # Windows/DOS
ملاحظة - تأكد من أن وضع أذونات الملف يسمح بالتنفيذ.
 بيئة التطوير المتكاملة
 يمكنك تشغيل Python من بيئة واجهة المستخدم الرسومية (GUI) أيضًا ، إذا كان لديك تطبيق واجهة المستخدم الرسومية على نظامك الذي يدعم Python.
 يونيكس - IDLE هو أول يونيكس IDE لبيثون.
 Windows - PythonWin هي أول واجهة Windows لـ Python وهي عبارة عن IDE مع واجهة المستخدم الرسومية.
 Macintosh - يتوفر إصدار Macintosh من Python مع IDLE IDE من الموقع الرئيسي ، ويمكن تنزيله كملفات MacBinary أو BinHex'd.
 إذا لم تتمكن من إعداد البيئة بشكل صحيح ، فيمكنك طلب المساعدة من مسؤول النظام لديك. تأكد من إعداد بيئة Python بشكل صحيح وأنها تعمل بشكل جيد تمامًا.
 ملاحظة - يتم تنفيذ جميع الأمثلة الواردة في الفصول اللاحقة مع إصدار Python 2.4.3 المتاح على  CentOS لنظام Linux.
 لقد قمنا بالفعل بإعداد بيئة برمجة Python على الإنترنت ، بحيث يمكنك تنفيذ جميع الأمثلة المتاحة عبر الإنترنت في نفس الوقت الذي تتعلم فيه نظرية. لا تتردد في تعديل أي مثال وتنفيذه على الإنترنت.

التسميات:

السبت، 4 يناير 2020

برمجة الامتدادات في بايثون بيثون Python Extension Programming with C


برمجة الامتدادات في بايثون بيثون

 Python  Extension Programming with C

مزيد من المعلومات »

التسميات:

الخميس، 2 يناير 2020

بيثون - برمجة واجهة المستخدم الرسومية (Tkinter) Python - GUI Programming (Tkinter)

 بيثون - برمجة واجهة المستخدم الرسومية (Tkinter)

 

ما هو او هي Python - GUI Programming (Tkinter)

Tkinter  ببساطة هي الواجهة الرسومية للمستخدم في لغة البرمجة بايثون مثلها مثل واجهة المستخدم الرسومية ويندوز في لغات البرمجة التي تأتي مع فيجوال استوديو، إذا أردت بناء تطبيقات ذات نوافذ او واجهة رسومية GUI حتى يتفاعل معها المستخدم في بايثون فعندها يحب أن تتعلم كيفية استخدام مكتبة Tkinter التي تحتوي على الأدوات والاكواد البرمجة مسبقا لتطوير واجهات المستخدمة في بايثون هناك عدة مكتبات برمجية تساعد في تطوير برامج ذات واجهة رسومية في بايثون إليك أشهر ٣ مكتبات رسومية GUI
توفر Python خيارات مختلفة لتطوير واجهات المستخدم الرسومية (GUIs). الأكثر أهمية مدرجة أدناه.
  • Tkinter −

 Tkinter هو واجهة Python لمجموعة أدوات Tk GUI التي يتم شحنها مع Python. سوف ننظر هذا الخيار في هذا الفصل.
  • wxPython − 

هذا هو واجهة بيثون مفتوحة المصدر ل wxWindows http://wxpython.org.
  • JPython −

إن JPython هو منفذ Python لـ Java والذي يمنح نصوص Python وصولاً سهلاً إلى مكتبات فئة Java على الجهاز المحلي http://www.jython.org.
 هناك العديد من الواجهات الأخرى المتاحة ، والتي يمكنك العثور عليها على الشبكة. 

كيفية برمجيات واجهات مستخدم رسومية في بايثون Tkinter Programming

Tkinter هي مكتبة واجهة المستخدم الرسومية القياسية لبيثون. يوفر Python عند دمجه مع Tkinter طريقة سريعة وسهلة لإنشاء تطبيقات واجهة المستخدم الرسومية. يوفر Tkinter واجهة قوية ذات منحي لمجموعة الأدوات Tk GUI.
 إنشاء تطبيق واجهة المستخدم الرسومية باستخدام Tkinter هو مهمة سهلة. كل ما عليك القيام به هو تنفيذ الخطوات التالية -
  •  استيراد وحدة Tkinter.
 قم بإنشاء النافذة الرئيسية لتطبيق واجهة المستخدم الرسومية.
 إضافة واحد أو أكثر من الحاجيات المذكورة أعلاه إلى تطبيق واجهة المستخدم الرسومية.
 أدخل حلقة الحدث الرئيسية لاتخاذ إجراء ضد كل حدث يتم تشغيله بواسطة المستخدم.

مثال على استخدام Tkinter في بايثون Example

#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
هذا من شأنه أن ينشيء النافذة التالية او الواجهة -
مثال على استخدام Tkinter في بايثون Example

ما هي أدوات Tkinter Widgets

يوفر Tkinter عناصر تحكم متنوعة ، مثل الأزرار والملصقات ومربعات النص المستخدمة في تطبيق واجهة المستخدم الرسومية. وتسمى هذه Widgets او بما يعرف بالادوات الرسومية.
 هناك حاليا 15 نوعا من الأدوات الرسومية في Tkinter. نقدم هذه الحاجيات وكذلك وصفا موجزا في الجدول التالي -
الرقم.المشغل والوصف
1Button
يتم استخدام عنصر واجهة المستخدم لعرض الأزرار في التطبيق الخاص بك.
2Canvas
يتم استخدام عنصر واجهة مستخدم Canvas لرسم الأشكال ، مثل الخطوط والأشكال البيضاوية والمضلعات والمستطيلات ، في تطبيقك.
3Checkbutton
يتم استخدام عنصر واجهة مستخدم Checkbutton لعرض عدد من الخيارات كمربعات اختيار. يمكن للمستخدم تحديد خيارات متعددة في وقت واحد.
4Entry
يتم استخدام عنصر واجهة المستخدم Entry لعرض حقل نص مفرد الأسطر لقبول القيم من المستخدم.
5Frame
يتم استخدام عنصر واجهة تعامل الإطار كعنصر واجهة حاوية لتنظيم عناصر واجهة تعامل أخرى.
6Label
يتم استخدام عنصر واجهة التعامل Label لتقديم تسمية توضيحية ذات سطر واحد للأدوات الذكية الأخرى. يمكن أن تحتوي أيضًا على صور.
7Listbox
يتم استخدام عنصر واجهة مستخدم Listbox لتوفير قائمة بالخيارات للمستخدم.
8Menubutton
يتم استخدام القطعة Menubutton لعرض القوائم في التطبيق الخاص بك.
9Menu
يتم استخدام عنصر واجهة مستخدم Menu لتوفير العديد من الأوامر للمستخدم. وترد هذه الأوامر داخل Menubutton.
10Message
يتم استخدام عنصر واجهة تعامل الرسائل لعرض مجالات النص متعددة الأسطر لقبول القيم من المستخدم.
11Radiobutton
يتم استخدام عنصر واجهة المستخدم Radiobutton لعرض عدد من الخيارات كأزرار راديو. يمكن للمستخدم تحديد خيار واحد فقط في وقت واحد.
12Scale
يتم استخدام الأداة Scale لتوفير عنصر واجهة مستخدم منزلق.
13Scrollbar
يتم استخدام عنصر واجهة Scrollbar لإضافة إمكانية التمرير إلى عناصر واجهة مستخدم متعددة ، مثل مربعات القائمة.
14Text
يتم استخدام عنصر واجهة تعامل النص لعرض النص في أسطر متعددة.
15Toplevel
يتم استخدام عنصر واجهة تعامل Toplevel لتوفير حاوية نافذة منفصلة.
16Spinbox
عنصر واجهة المستخدم Spinbox هو متغير من عنصر واجهة المستخدم Tkinter القياسي ، والذي يمكن استخدامه لتحديد من عدد ثابت من القيم.
17PanedWindow
PanedWindow هي أداة حاوية قد تحتوي على أي عدد من الأجزاء ، مرتبة أفقياً أو رأسياً.
18LabelFrame
و labelframe هو القطعة حاوية بسيطة. الغرض الأساسي منه هو العمل كفاصل أو حاوية لتخطيطات النوافذ المعقدة.
19tkMessageBox
تستخدم هذه الوحدة لعرض مربعات الرسائل في تطبيقاتك.

Standard attributes ماهي الصفات القياسية في Tkinter 

مثل الأدوات في فيجوال استديو او لغة برمجية ذات واجهة مستخدم رسومية تشترك جميعا بنفس الخصائص او الصفات ولكن تختلف في كيفية الوصول إليها وبعضها قد اتشارك في التسمية. 
دعونا نلقي نظرة على كيفية تحديد بعض سماتها الشائعة. مثل الأحجام والألوان والخطوط.
  • Dimensions
  • Colors
  • Fonts
  • Anchors
  • Relief styles
  • Bitmaps
  • Cursors
دعنا ندرسهم لفترة وجيزة -

Geometry Management مدير الجيومتري 

تتمتع جميع عناصر واجهة استخدام Tkinter بالوصول إلى أساليب إدارة هندسية محددة ، والتي تهدف إلى تنظيم عناصر الواجهة التي تتعامل مع  المستخدم. بمعنى اي أداة عندما توضع في نافذة او form كما هو في الفيجوال استديو فيجب تحديد موقع هذه الأداة ويتم تخديدها وفقا للاحداثيات x و y اي موقعها بالنسبة لخط الطول والعرض ويتم ذلك بتقسم الواجهة على شبكة تسمى grid ان الذي يقوم بهذا يسمى geometry في Tkinter 

في مدير Tkinter توجد هذه الفئات الهندسة التالية: الحزمة ، الشبكة  والمكان.
  • The pack() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة المستخدم في كتل blocks قبل وضعها في عنصر واجهة التعامل الرئيسية ( اي واجهة المستخدم او النافذة). 

  • The grid() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة التي تتعامل مع  المستخدم في هيكل يشبه الجدول في عنصر واجهة التعامل الأصلي.(اي على شبكة توضعها عليها الأدوات) 

  • The place() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة تعامل المستخدم من خلال وضعها في موضع محدد في عنصر واجهة التعامل الأصلي.
 دعونا دراسة أساليب إدارة الهندسة لفترة وجيزة -






التسميات:

الأربعاء، 1 يناير 2020

XML بيثون - معالجة Python XML Processing

 بيثون - معالجة  XML

 Python XML Processin

مزيد من المعلومات »

التسميات:

الثلاثاء، 31 ديسمبر 2019

برمجة العمليات الموزعة او المجزئة في بايثون بيثون Python Multithreaded Programming

برمجة العمليات الموزعة او المجزئة في بايثون بيثون

 Python  Multithreaded Programming

مزيد من المعلومات »

التسميات:

الاثنين، 30 ديسمبر 2019

إرسال بريد باستخدام برتوكول إرسال البريد الإلكتروني في بايثون بيثون Python Sending Email using SMTP

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

Python  Sending Email using SMTP 

مزيد من المعلومات »

التسميات:

الأحد، 29 ديسمبر 2019

برمجة الشبكات بايثون بيثون Python Network Programming

برمجة الشبكات بايثون بيثون Python

  Network Programming

مزيد من المعلومات »

التسميات:

السبت، 28 ديسمبر 2019

الوصول إلى قواعد البيانات واستخدام لغة الاستعلام البنيوية في بايثون بيثون How do I connect to a MySQL database in python?

الوصول إلى قواعد البيانات واستخدام لغة الاستعلام البنيوية في بايثون بيثون

 Python  MySQL Database Access

كيف يمكنني الاتصال بقاعدة بيانات MySQL في لغة بايثون بيثون ؟How do I connect to a MySQL database in python?

كيف يمكنني الاتصال بقاعدة بيانات MySQL في لغة بايثون بيثون ؟How do I connect to a MySQL database in python?


معيار بايثون Python لواجهات قاعدة البيانات هو Python DB API.  تلتزم معظم واجهات قاعدة بيانات  بايثون Python بهذا المعيار.

 يمكنك اختيار قاعدة البيانات الصحيحة للتطبيق الخاص بك.  يدعم Python Database API مجموعة واسعة من خوادم قواعد البيانات مثل -
  • GadFly
  • mSQL
  • MySQL
  • PostgreSQL
  • Microsoft SQL Server 2000
  • Informix
  • Interbase
  • Oracle
  • Sybase
فيما يلي قائمة بواجهات قاعدة بيانات  بايثون Python المتاحة: واجهات قاعدة بيانات بايثون Python وواجهات برمجة التطبيقات.  يجب عليك تنزيل وحدة API DB منفصلة لكل قاعدة بيانات تحتاج إلى الوصول إليها.  على سبيل المثال ، إذا كنت بحاجة إلى الوصول إلى قاعدة بيانات Oracle وكذلك قاعدة بيانات MySQL ، فيجب عليك تنزيل كل من وحدات قاعدة بيانات Oracle و MySQL.

 يوفر DB API الحد الأدنى من المعايير للعمل مع قواعد البيانات باستخدام بيثون بناء الجملة والبناء كلما كان ذلك ممكنا.  يتضمن API هذا ما يلي -
  1.  استيراد وحدة API.
  2.  الحصول على اتصال مع قاعدة البيانات.
  3.  إصدار عبارات SQL والإجراءات المخزنة.
  4.  إغلاق الاتصال
 سنتعلم جميع المفاهيم باستخدام MySQL ، لذلك دعونا نتحدث عن وحدة MySQLdb.

What is MySQLdb? ماهي قاعدة البيانات 

MySQLdb هي واجهة للاتصال بخادم قاعدة بيانات MySQL من بيثون.  وهي تنفذ الإصدار 2.0 من Python Database API وهي مبنية على واجهة MySQL C API.

تحميل قاعدة البيانات How do I Install MySQLdb?

قبل المتابعة ، تأكد من تثبيت MySQLdb على جهازك.  فقط اكتب ما يلي في البرنامج النصي  بايثون Python وقم بتنفيذه -
#!/usr/bin/python

import MySQLdb

إذا كان ينتج النتيجة التالية ، فهذا يعني أن وحدة MySQLdb غير مثبتة -
Traceback (most recent call last):
   File "test.py", line 3, in 
      import MySQLdb
ImportError: No module named MySQLdb
لتثبيت وحدة MySQLdb ، استخدم الأمر التالي -
For Ubuntu, use the following command -
$ sudo apt-get install python-pip python-dev libmysqlclient-dev
For Fedora, use the following command -
$ sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
For Python command prompt, use the following command -
pip install MySQL-python

ملاحظة - تأكد من حصولك على امتياز الجذر لتثبيت الوحدة أعلاه.

Database Connection الاتصال في قاعدة البيانات

قبل الاتصال بقاعدة بيانات MySQL ، تأكد من ما يلي -
  •  لقد قمت بإنشاء قاعدة بيانات TESTDB.
  •  قمت بإنشاء جدول الموظف في TESTDB.
 يحتوي هذا الجدول على حقول FIRST_NAME و LAST_NAME و AGE و SEX و INCOME.
 يتم تعيين معرف المستخدم "testuser" وكلمة المرور "test123" للوصول إلى TESTDB.
 تم تثبيت Python module MySQLdb بشكل صحيح على جهازك.
 لقد مررت ببرنامج MySQL التعليمي لفهم أساسيات MySQL.

مثال Example

فيما يلي مثال الاتصال بقاعدة بيانات MySQL "TESTDB"
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()
print "Database version : %s " % data

# disconnect from server
db.close()
أثناء تشغيل هذا البرنامج النصي ، ينتج عنه النتيجة التالية في جهاز Linux الخاص بي.
Database version : 5.0.45
إذا تم إنشاء اتصال بمصدر البيانات ، فسيتم إرجاع كائن الاتصال وحفظه في ديسيبل لاستخدامه مرة أخرى ، وإلا يتم تعيين ديسيبل على بلا.  بعد ذلك ، يتم استخدام كائن db لإنشاء كائن مؤشر ، والذي بدوره يستخدم لتنفيذ استعلامات SQL.  أخيرًا ، قبل الخروج ، يضمن إغلاق اتصال قاعدة البيانات وإطلاق الموارد.

Creating Database Table إنشاء جدول قاعدة البيانات

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

مثال Example

دعنا ننشئ جدول قاعدة بيانات الموظف -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Drop table if it already exist using execute() method.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# Create table as per requirement
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

# disconnect from server
db.close()

INSERT Operation عملية الادخال

مطلوب عندما تريد إنشاء سجلاتك في جدول قاعدة البيانات.

مثال Example

المثال التالي ينفذ عبارة SQL INSERT لإنشاء سجل في جدول الموظفين -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

يمكن كتابة المثال أعلاه على النحو التالي لإنشاء استعلامات SQL بشكل حيوي -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

مثال Example

مقطع التعليمات البرمجية التالي هو شكل آخر من أشكال التنفيذ حيث يمكنك تمرير المعلمات مباشرة -
..................................
user_id = "test123"
password = "password"

con.execute('insert into Login values("%s", "%s")' % \
             (user_id, password))
..................................

READ Operation عمليات القراءة 

اقرأ العملية على أي قاعدة بيانات تعني جلب بعض المعلومات المفيدة من قاعدة البيانات.
 بمجرد إنشاء اتصال قاعدة البيانات الخاصة بنا ، تكون على استعداد للاستعلام عن قاعدة البيانات.  يمكنك استخدام إما طريقة fetchone () لجلب سجل مفرد أو طريقة fetchall () لجلب قيم متعددة من جدول قاعدة البيانات.
  • fetchone() − يجلب الصف التالي من مجموعة نتائج الاستعلام.  مجموعة النتائج هي كائن يتم إرجاعه عند استخدام كائن مؤشر للاستعلام عن جدول.
  • fetchall() −يجلب كل الصفوف في مجموعة النتائج.  إذا تم بالفعل استخراج بعض الصفوف من مجموعة النتائج ، فسوف يسترجع الصفوف المتبقية من مجموعة النتائج.
  • rowcount − هذه سمة للقراءة فقط وتُرجع عدد الصفوف التي تأثرت بأسلوب execute ().

مثال Example

يستفسر الإجراء التالي عن كافة السجلات الموجودة في جدول الموظفين الذين لديهم راتب يزيد عن 1000 -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > '%d'" % (1000)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Fetch all the rows in a list of lists.
   results = cursor.fetchall()
   for row in results:
      fname = row[0]
      lname = row[1]
      age = row[2]
      sex = row[3]
      income = row[4]
      # Now print fetched result
      print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
             (fname, lname, age, sex, income )
except:
   print "Error: unable to fecth data"

# disconnect from server
db.close()
هذا سوف ينتج النتيجة التالية -
fname=Mac, lname=Mohan, age=20, sex=M, income=2000

Update Operation عملية الحذف 

تحديث العملية على أي قاعدة بيانات تعني تحديث سجل واحد أو أكثر ، والمتوفر بالفعل في قاعدة البيانات.
 الإجراء التالي بتحديث جميع السجلات التي تحتوي على SEX كـ "M".  هنا ، سنزيد العمر لكل الذكور لمدة عام.

مثال Example

#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to UPDATE required records
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
                          WHERE SEX = '%c'" % ('M')
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

DELETE Operation عملية الحذف 

 −عملية DELETE مطلوبة عندما تريد حذف بعض السجلات من قاعدة البيانات الخاصة بك.  فيما يلي الإجراء المتبع لحذف جميع السجلات من الموظف حيث يبلغ العمر أكثر من 20 عامًا

مثال Example

#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

Performing Transactions تنفيذ المعاملات

المعاملات هي آلية تضمن تناسق البيانات.  المعاملات لها الخصائص الأربعة التالية -
  • Atomicity − إما أن تكتمل المعاملة أو لا يحدث شيء على الإطلاق.
  • Consistency − يجب أن تبدأ المعاملة في حالة متسقة وترك النظام في حالة متسقة.
  • Isolation −النتائج الوسيطة للمعاملة غير مرئية خارج المعاملة الحالية.
  • Durability  − بمجرد الالتزام بالمعاملة ، تكون التأثيرات مستمرة ، حتى بعد فشل النظام.

     يوفر Python DB API 2.0 طريقتين للالتزام أو التراجع عن المعاملة.

مثال Example

أنت تعرف بالفعل كيفية تنفيذ المعاملات.  هنا مثال مماثل مرة أخرى -
# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

COMMIT Operation الاعتماد وتطبيق التغيرات على قاعدة البيانات 

.الالتزام هو العملية التي تعطي إشارة خضراء لقاعدة البيانات لإنهاء التغييرات ، وبعد هذه العملية لا يمكن التراجع عن أي تغيير.

 هنا مثال بسيط للاتصال بأسلوب الالتزام
db.commit()

ROLLBACK Operation للتراجع 

إذا لم تكن راضيًا عن واحد أو أكثر من التغييرات وتريد عكس تلك التغييرات تمامًا ، فاستخدم طريقة الاستعادة ().

 هنا مثال بسيط لاستدعاء طريقة الاستعادة ().
db.rollback()

Disconnecting Database إنهاء الاتصال بقاعدة البيانات 

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

Handling Errors التعامل مع الأخطاء 

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

 يعرّف DB API عدد من الأخطاء التي يجب أن توجد في كل وحدة نمطية لقاعدة البيانات.  يسرد الجدول التالي هذه الاستثناءات.
الرقم المتسلسلالاستثناء والوصف
1
Warning
تستخدم للقضايا غير المميتة.  يجب أن فئة فرعية StandardError.
2
Error
الفئة الأساسية للأخطاء.  يجب أن فئة فرعية StandardError.
3
InterfaceError
يستخدم للأخطاء في وحدة قاعدة البيانات ، وليس في قاعدة البيانات نفسها.  يجب خطأ فئة فرعية.
4
DatabaseError
يستخدم للأخطاء في قاعدة البيانات.  يجب خطأ فئة فرعية.
5
DataError
فئة فرعية من DatabaseError تشير إلى أخطاء في البيانات.
6
OperationalError
فئة فرعية من DatabaseError التي تشير إلى أخطاء مثل فقدان الاتصال بقاعدة البيانات.  هذه الأخطاء عادة ما تكون خارج نطاق سيطرة بايثون.
7
IntegrityError
فئة فرعية من DatabaseError للحالات التي من شأنها أن تضر بالعلاقة التكاملية ، مثل قيود التفرد أو المفاتيح الخارجية.
8
InternalError
فئة فرعية من DatabaseError تشير إلى الأخطاء الداخلية لوحدة قاعدة البيانات ، مثل المؤشر لم يعد نشطًا.
9
ProgrammingError
فئة فرعية من DatabaseError تشير إلى أخطاء مثل اسم جدول غير صالح وأشياء أخرى يمكن إلقاء اللوم عليها عليك بأمان.
10
NotSupportedError
فئة فرعية من DatabaseError تشير إلى محاولة استدعاء وظائف غير مدعومة.
يجب أن تتعامل نصوص  بايثون Python الخاصة بك مع هذه الأخطاء ، ولكن قبل استخدام أيٍ من الاستثناءات المذكورة أعلاه ، تأكد من دعم MySQLdb لهذا الاستثناء.  يمكنك الحصول على مزيد من المعلومات حولهم من خلال قراءة مواصفات DB API 2.0.

الاتصال مع قواعد البيانات  بايثون ويندوز من خلال سيرفر XAMPP

أولا وقبل كل شيء علينا تثبيت حزمة موصل mysql python.  لتثبيت حزمة mysql ، قم بما يلي: انتقل إلى دليل Scripts في  بايثون python.هذا يعتمد أين أنت تحتفظ او قمت بتحميل بايثون  على اي جزء او قسم من القرص الصلب في جهازك الحاسوب. 

C:\Software\Python\Python36-32\SCRIPTS
 في جهازي الحاسوب  قمت بتحميل لغة بايثون في الدليل او القسم C فإذا كانت لدى في قسم  اخر انسخ الدليل بالكامل وإلصقه في محرر الأوامر  DOS  مع كتابة الأمر كالتالي. 
C:\Software\Python\Python36-32\Scripts> pip install pymysql

عندها سيتم تحميل قواعد بيانات بايثون والان الي ربطها مع سيرفر اكزامب XAMMP. 

كيفية الاتصال مع قاعدة البيانات بايثون في ويندوز

 أنا أستخدم xampp لقاعدة البيانات الخاصة بي.  هذه خطوة اختيارية ، إذا كان لديك MySQL مثبتًا بالفعل ، فيمكنك تخطي هذه الخطوة.
قبل بدء كتابة الكود  ، قم بتشغيل سيرفر xampp وابدأ Apache & MySQL.  في المتصفح اكتب
 (https: // localhost / phpmyadmin /) ، 
لقد قمت بإنشاء قاعدة بيانات باسم databaseName والتي تظهر أدناه:

كيفية الاتصال مع قاعدة البيانات بايثون في ويندوز


كيف تنشيء او تبني  قاعدة بيانات في سيرفر اكزامب xampp 

انقر فوق علامة التبويب قاعدة البيانات  Database .  الآن يجب أن ترى خيار إنشاء قاعدة بيانات وحقل إدخال لإدخال اسم قاعدة البيانات.  اكتب اسم قاعدة البيانات واضغط على الزر "إنشاء".  سترى رسالة نجاح ف.

 من قائمة الجداول ، يمكنك عرض قاعدة البيانات الخاصة بك.  أنت حر في استخدام قاعدة البيانات هذه أينما تريد مع الإعدادات الافتراضية.  بشكل افتراضي ، اسم المضيف هو "localhost" ، مستخدم MySQL هو "root"  وبدون كلمة مرور.

كيف تنشيء او تبني  قاعدة بيانات في سيرفر اكزامب xampp


كيفية إنشاء الجداول باستخدام phpMyAdmin XAMPP

تلعب الجداول دورًا حيويًا في تخزين المعلومات (المحتوى الديناميكي).  في XAMPP MySQL قم بتخزين المعلومات في الجداول.  يمكنك بسهولة إضافة جداول إلى MySQL باستخدام واجهة مستخدم phpMyAdmin البديهية.  في phpMyAdmin ، انقر فوق علامة التبويب "الهيكل Structure".  أسفل قائمة الجداول في أسفل الصفحة ، انقر فوق معالج "إنشاء جدول جديد في قاعدة البيانات" للبدء.  أولاً ، أضف اسم الجدول والعدد الإجمالي للحقول واضغط على زر "Go".

كيفية إنشاء الجداول باستخدام phpMyAdmin XAMPP


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


الان  كيفية االاتصال مع قواعد البيانات في محرر النصوص الخاص ب بايثون؟ 

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

import
pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# Query for creating table
ArtistTableSql =
"""CREATE TABLE Artists( ID INT(20) PRIMARY KEY AUTO_INCREMENT, NAME CHAR(20) NOT NULL, TRACK CHAR(10))"""
cursor.execute(ArtistTableSql) connection.close()
سيتم إنشاء جدول Artists باستخدام أوامر لغة الاستعلام البنيوية sql.  يمكنك رؤيته في متصفحك.
كيفية االاتصال مع قواعد البيانات في محرر النصوص الخاص ب بايثون


كيفية إضافة بيانات في بايثون Python MySQL

 الآن اهتمامنا هو إدراج بعض كيانات الصف في الجدول.  عليك أولاً كتابة الاستعلامات لإدخال بيانات مختلفة ، ثم تنفيذها بمساعدة المؤشر.
import pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# queries for inserting values
insert1 =
"INSERT INTO Artists(NAME, TRACK) VALUES('Towang', 'Jazz' );"
insert2 =
"INSERT INTO Artists(NAME, TRACK) VALUES('Sadduz', 'Rock' );"
#executing the quires
cursor.execute(insert1) cursor.execute(insert2)
#commiting the connection then closing it.
connection.commit() connection.close()

كيفية استرجاع البيانات في قواعد البيانات بايثون Python MySQL

 لقد أدخلنا صفين في الكود أعلاه.  الآن نريد استرداد هؤلاء.  للقيام بذلك ، ألق نظرة على المثال التالي:

import pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# queries for retrievint all rows
retrive =
"Select * from Artists;"
#executing the quires
cursor.execute(retrive) rows = cursor.fetchall() for row in rows: print(row)
#commiting the connection then closing it.
connection.commit() connection.close()


المخرجات كالتالي. 
كيفية استرجاع البيانات في قواعد البيانات بايثون Python MySQL

كيفية تحديث البيانات في قواعد البيانات بايثون في Python MySQL

 لنفترض أنك تريد إعادة تسمية اسم الفنان الأول من Towang إلى Tauwang.  لتحديث أي سمة لأي كيان ، قم بما يلي:

updateSql = "
UPDATE
Artists
SET
NAME
=
'Tauwang'
WHERE
ID
=
'1'
;" cursor.execute(updateSql )

كيفية حذف سجل في قاعدة البيانات بايثون Python MySQL

 لحذف كيان ، عليك تنفيذ ما يلي:

deleteSql = "
DELETE
FROM
Artists
WHERE
ID
=
'1'
; " cursor.execute(deleteSql )

كيفية حذف جدول في قاعدة البيانات بايثون Python MySQL

 قد تحتاج في بعض الأحيان إلى حذف أي جدول قبل إنشاء أي جدول جديد حتى لا يحدث تضارب الأسماء هذا.  هنا حذف  جدول Artists ، يمكنك القيام بذلك على النحو التالي:

dropSql = "DROPTABLEIFEXISTS Artists;" cursor.execute(dropSql)








التسميات: