اذهب إلى المحتوى

السؤال

نشر (معدل)

 

مرحبا

ممكن جواب لي سوأل لدي انا 3 ايام وابحث عن الجواب لاكن لم اجد شيئ

كيف تم انشاء دوال الوصول الى وضائف الاجهزة في بايثون مثل الكاميرا في الهاتف او البلوتوث او دالة تجعل الهاتف في وضع الطائرة

او وضائف الكمبيوتر مثل -- اقاف التشغيل -- اعادة التشغيل -- فتح المتصفح -- اغلاق البرامج في الخلفية .....وغيرها من الوضائف

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

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

مثال

برنامج يقوم بما يلى 

  1. اغلاق البرامج في الخلفبة
  2. اغلاق البرامج الغير مستخدمة
  3. اقاف تشغيل الجهاز  بعد انتهاء من تصطب برنامج معين
  4. تنزيل برنامج فقط عن طريق ادخال الرابط الرابط
  5. اخد لقطة لشلشة عند النقر على المفتاح  A  في لوحة المفتيح  وتصوير فيديو عند النقر على الفتاح K
  6. تشغيل الكاميرا  و المايك في الابتوب

السؤل هنا كيف تم انشاء تلك كل الدوال  ( الكود الدي يدهب الى تلك الوضيفة المحددة في كل مهمة في هادا البرنامج )

فمثلا النقطة الخامسة كيف تم بناء الدالة  التي تأخد لقطة لشلشة أو تعمل فيديو وكيف  تم بناء دالة  تصل الى احرف لوحة المفاتيح

اقتباس

 

اقتباس

ملاحضة مهمة جدا 

  1. أنا اعرف  بعض الدوال التي تقوم بي هادا العمل لاكن الهدف من السؤل هو كيف تم بناء هاده الدوال 
  2. لست ابحث عن  مكاتب تقوم بهاد العمل وانما ابحث عن كيف تم انشاء هاده الدوال 
  3. الهدف من هاد السوأل هو لو فكرة في بناء لغة برمجة او  مكتبو في بايثون  سوف اتمكن من الوصول الى وضائف في الجهاز دون الحاجة الى الاستعانة بي اي مكتبة ولا  بي اي شيئ ( كود من الصفر )

ارجو اني وضحت سوألي بما فيه الكفاية

أرجو الافادة وبارك الله فيكم

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 1
نشر

للوصول إلى وظائف الأجهزة المختلفة في لغة بايثون، فعادة ما يتم استخدام مكتبات معينة توفر واجهات برمجية التطبيقات (APIs) لتفاعل مع تلك الوظائف.

مثلاً، تستطيع استخدام مكتبة OpenCV للتفاعل مع كاميرا الهاتف، أو استخدام مكتبة pyautogui لتشغيل وظائف لوحة المفاتيح والماوس، وهكذا.

وفيما يلي بعض الأمثلة على كيفية بناء بعض هذه الدوال:

1- إغلاق البرامج في الخلفية والبرامج غير المستخدمة:

سنستخدم مكتبة psutil للوصول إلى معلومات حول العمليات الجارية في النظام، ثم استخدام دالة kill() لإغلاق تلك العمليات. 

import psutil

# get all running processes
for proc in psutil.process_iter(['pid', 'name']):
    try:
        # get process details as a named tuple
        process_info = proc.as_dict(attrs=['pid', 'name'])
        # check if the process is not being used
        if process_info['name'] not in ['process1', 'process2']:
            # kill the process
            process = psutil.Process(process_info['pid'])
            process.kill()
    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
        pass

2- إيقاف تشغيل الجهاز بعد انتهاء تثبيت برنامج معين:

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

لإيقاف تشغيل الجهاز، تستطيع استخدام الأمر "shutdown /s /t 1"، والذي يغلق النظام بعد ثانية واحدة. يمكن استخدام دالة subprocess.call() لتشغيل الأمر. 

import subprocess

# install the program
subprocess.call(['python', 'setup.py', 'install'])

# shutdown the system
subprocess.call(['shutdown', '/s', '/t', '1'])

3- تنزيل برنامج فقط بواسطة الرابط

من الممكن تنفيذ ذلك من خلال مكتبة requests لإرسال طلب HTTP GET للرابط المحدد وتنزيل الملف المرتبط به.

مثلاً استخدم الكود التالي لتنزيل برنامج VLC Media Player من موقعه الرسمي باستخدام الرابط المباشر:

import requests

url = "https://get.videolan.org/vlc/3.0.16/win64/vlc-3.0.16-win64.exe"
r = requests.get(url)

with open("vlc.exe", "wb") as f:
    f.write(r.content)

حيث أن الكود يرسل طلب GET للرابط المحدد ويقوم بتخزين المحتوى الذي يتم تلقيه كملف "vlc.exe" في الدليل الحالي، وتستطيع استخدام هذا الكود لتنزيل أي برنامج آخر عن طريق استبدال الرابط المحدد برابط الملف المراد تنزيله.

4- تشغيل الكاميرا والمايك في اللابتوب:

هناك مكتبة OpenCV لتشغيل الكاميرا في اللابتوب ولقطات الفيديو والصور، ومن خلال الأمر cv2.VideoCapture(0) تستطيع فتح الكاميرا وبعدها يتم التقاط الفيديو والصور باستخدام دالة cap.read().

أما بالنسبة لتشغيل المايك في اللابتوب، فهناك مكتبة PyAudio، ويتم ذلك باستخدام الدالة pyaudio.PyAudio() لفتح معدات التسجيل و pyaudio.Stream() لتسجيل الصوت.

أي بإمكانك استخدام العديد من المكتبات المدمجة في Python للوصول إلى وظائف الأجهزة والبرامج.

  • 0
نشر (معدل)

شكرا لك يا الستاد Mustafa Suleiman لاكن  هاد ليس ما ابحث عنه ولاكنك سعدتني كثيرا بي اعطائي تلك المكاتب ستكون مفيدة جدا  لي 

في شرحك لي عن  طريقة اغلاق البرامج في الخلفية  كيف تم بناء الدالة  kill() و الدالة os.system()   وهاد هو المغزى من سوألي الأول  انه كيف يتم بناء هاده الدوال  وان استطعت اعطيني مثال مفصل حتى أفهم كيف يتم  بناء هاده الدوال 

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

تم التعديل في بواسطة العيد العيد تليلي
نسيت شيئ لم اكتبه | تصحيح بعض الاخطاء الأملائة
  • 1
نشر

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

على سبيل المثال، للوصول إلى كاميرا الهاتف، يمكن استخدام وحدة opencv-python في Python للتحكم في الكاميرا والتقاط الصور ومعالجتها. وللوصول إلى وظيفة Bluetooth، يمكن استخدام وحدة pybluez في Python. ويمكن استخدام وحدة pyautogui لإنشاء وظائف على لوحة المفاتيح والفأرة، مثل تحريك الماوس والنقر على الأزرار.

لبعض الوظائف الأخرى مثل إيقاف تشغيل الجهاز أو إعادة التشغيل، يمكن استخدام الوحدة os في Python، ولإغلاق البرامج، يمكن استخدام وحدة psutil في Python. وللوصول إلى API الفيسبوك، يمكن استخدام وحدة facebook-sdk في Python.

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...