Regular Expressions
التعابير النمطية (Regular Expressions - RegEx) عبارة عن مجموعة من الرموز والأحرف مكتوبة بنمط معين وبترتيب معين (Pattern)، تُستخدم في التعامل مع النصوص. يمكن استخدامها في عمليات البحث عن نماذج محددة في النص، التحقق من شروط معينة في النص، واستخراج المعلومات من النص بسهولة دون الاعتماد على خوارزميات معقدة.
يعد التعبير العادي، أو #regex أو #regexp باختصار، قويًا للغاية ومدهشًا في البحث عن السلاسل النصية ومعالجتها، خاصة في معالجة الملفات النصية. يمكن لسطر واحد من التعبير العادي أن يحل محل عشرات الأسطر من أكواد البرمجة بسهولة.
يتم دعم Regex بجميع لغات البرمجة النصية (مثل #Perl و #Python و #PHP و #JavaScript)؛ بالإضافة إلى لغات البرمجة للأغراض العامة(غرضية التوجه) مثل #Java؛ وحتى معالجات النصوص مثل برنامج ال Word للبحث في النصوص. قد لا يكون البدء في استخدام regex أمرًا سهلاً نظرًا لتركيبه العبقري غريب الأطوار، ولكنه بالتأكيد يستحق استثمار وقتك.
التعابير النمطية (Regular Expressions - RegEx) عبارة عن مجموعة من الرموز والأحرف مكتوبة بنمط معين وبترتيب معين (Pattern)، تُستخدم في التعامل مع النصوص. يمكن استخدامها في عمليات البحث عن نماذج محددة في النص، التحقق من شروط معينة في النص، واستخراج المعلومات من النص بسهولة دون الاعتماد على خوارزميات معقدة.
يعد التعبير العادي، أو #regex أو #regexp باختصار، قويًا للغاية ومدهشًا في البحث عن السلاسل النصية ومعالجتها، خاصة في معالجة الملفات النصية. يمكن لسطر واحد من التعبير العادي أن يحل محل عشرات الأسطر من أكواد البرمجة بسهولة.
يتم دعم Regex بجميع لغات البرمجة النصية (مثل #Perl و #Python و #PHP و #JavaScript)؛ بالإضافة إلى لغات البرمجة للأغراض العامة(غرضية التوجه) مثل #Java؛ وحتى معالجات النصوص مثل برنامج ال Word للبحث في النصوص. قد لا يكون البدء في استخدام regex أمرًا سهلاً نظرًا لتركيبه العبقري غريب الأطوار، ولكنه بالتأكيد يستحق استثمار وقتك.
🔰Examples :
python example in terminal🔴🐍 :
js example✅ :
🔰 Articles:
- Regular expressions - MDN
https://developer.mozilla.org/.../Guide/Regular_expressions
- A Step-by-Step Guide for Learning Regular Expressions: A Guide with Real-Life Usage
https://blogs.princegupta.me/a-step-by-step-guide-for...
- Regular Expressions Info
https://www.regular-expressions.info
- RegExOne
https://regexone.com
- RegEx Tutorial - java T point
https://www.javatpoint.com/regex
- RegExr learn ,build & test regEX
https://regexr.com/
- AI-Powered Regular Expression Solver
https://regex.ai/
-----
🔰 Videos:
- Regular Expressions (RegEx) Tutorial
https://youtube.com/playlist...
- Learn Regular Expressions (Regex) - Crash Course for Beginners
https://youtu.be/ZfQFUJhPqMM
- Regular Expression Tutorial - Arabic
https://youtube.com/playlist...
- Regular Expressions (Regex) Tutorial: How to Match Any Pattern of Text
https://youtu.be/sa-TUpSx1JA
- Complete Regular Expressions Tutorial! (with exercises for practice)
https://youtu.be/vsa9GGzMFXQ
- CS50P - Lecture 7 - Regular Expressions
https://youtu.be/hy3sd9MOAcc
--------
#regEx #regExp #RegulerExpression #pattern #regEx_tutorial #python_regEx #js_regEX
python example in terminal🔴🐍 :
# Test under the Python Command-Line Interpreter
$ python3
......
>>> import re # Need module 're' for regular expression
# Try find: re.findall(regexStr, inStr) -> matchedSubstringsList
# r'...' denotes raw strings which ignore escape code, i.e., r'\n' is '\'+'n'
>>> re.findall(r'[0-9]+', 'abc123xyz')
['123'] # Return a list of matched substrings
>>> re.findall(r'[0-9]+', 'abcxyz')
[]
>>> re.findall(r'[0-9]+', 'abc00123xyz456_0')
['00123', '456', '0']
>>> re.findall(r'\d+', 'abc00123xyz456_0')
['00123', '456', '0']
# Try substitute: re.sub(regexStr, replacementStr, inStr) -> outStr
>>> re.sub(r'[0-9]+', r'*', 'abc00123xyz456_0')
'abc*xyz*_*'
# Try substitute with count: re.subn(regexStr, replacementStr, inStr) -> (outStr, count)
>>> re.subn(r'[0-9]+', r'*', 'abc00123xyz456_0')
('abc*xyz*_*', 3) # Return a tuple of output string and count
js example✅ :
<!DOCTYPE html>
<!-- JSRegexNumbers.html -->
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Example: Regex</title>
<script>
var inStr = "abc123xyz456_7_00";
// Use RegExp.test(inStr) to check if inStr contains the pattern
console.log(/[0-9]+/.test(inStr)); // true
// Use String.search(regex) to check if the string contains the pattern
// Returns the start position of the matched substring or -1 if there is no match
console.log(inStr.search(/[0-9]+/)); // 3
// Use String.match() or RegExp.exec() to find the matched substring,
// back references, and string index
console.log(inStr.match(/[0-9]+/)); // ["123", input:"abc123xyz456_7_00", index:3, length:"1"]
console.log(/[0-9]+/.exec(inStr)); // ["123", input:"abc123xyz456_7_00", index:3, length:"1"]
// With g (global) option
console.log(inStr.match(/[0-9]+/g)); // ["123", "456", "7", "00", length:4]
// RegExp.exec() with g flag can be issued repeatedly.
// Search resumes after the last-found position (maintained in property RegExp.lastIndex).
var pattern = /[0-9]+/g;
var result;
while (result = pattern.exec(inStr)) {
console.log(result);
console.log(pattern.lastIndex);
// ["123"], 6
// ["456"], 12
// ["7"], 14
// ["00"], 17
}
// String.replace(regex, replacement):
console.log(inStr.replace(/\d+/, "**")); // abc**xyz456_7_00
console.log(inStr.replace(/\d+/g, "**")); // abc**xyz**_**_**
</script>
</head>
<body>
<h1>Hello,</h1>
</body>
</html>
🔰 Articles:
- Regular expressions - MDN
https://developer.mozilla.org/.../Guide/Regular_expressions
- A Step-by-Step Guide for Learning Regular Expressions: A Guide with Real-Life Usage
https://blogs.princegupta.me/a-step-by-step-guide-for...
- Regular Expressions Info
https://www.regular-expressions.info
- RegExOne
https://regexone.com
- RegEx Tutorial - java T point
https://www.javatpoint.com/regex
- RegExr learn ,build & test regEX
https://regexr.com/
- AI-Powered Regular Expression Solver
https://regex.ai/
-----
🔰 Videos:
- Regular Expressions (RegEx) Tutorial
https://youtube.com/playlist...
- Learn Regular Expressions (Regex) - Crash Course for Beginners
https://youtu.be/ZfQFUJhPqMM
- Regular Expression Tutorial - Arabic
https://youtube.com/playlist...
- Regular Expressions (Regex) Tutorial: How to Match Any Pattern of Text
https://youtu.be/sa-TUpSx1JA
- Complete Regular Expressions Tutorial! (with exercises for practice)
https://youtu.be/vsa9GGzMFXQ
- CS50P - Lecture 7 - Regular Expressions
https://youtu.be/hy3sd9MOAcc
--------
#regEx #regExp #RegulerExpression #pattern #regEx_tutorial #python_regEx #js_regEX
www.regular-expressions.info
Regular-Expressions.info - Regex Tutorial, Examples and Reference - Regexp Patterns
At Regular-Expressions.info you will find a wide range of in-depth information about a powerful search pattern language called regular expressions.
IT Engineer
#Python #Trick كتير منلاحظ هالسينتاكس ببايثون والغالب بكون صعب عليه فهمو و ليش هو افضل بغالب الاحيان من حلقة for و شو اسمو وكيف بيشتغل؟ غدا انشالله منشور عن الفكرة بالتفصيل
المصطلح يلي شفناه بالصورة اسمو List comprehensions و هو انشاء list بطريقة مختصرة واسرع
List comprehensions
هي إحدى ميزات Python المثيرة للاهتمام والمفيدة للغاية والتي تتيح لنا إنشاء القوائم ومعالجتها باستخدام بناء جملة أقصر بكثير.
Syntax
يتكون بناء الجملة الأساسي من قوسين مربعين [] يتضمنان تعبيرًا متبوعًا بجملة for. ويمكن تضمين شرط باستخدام if لفلترة البيانات
Expression
يحدد التعبير ما يجب تضمينه في القائمة الجديدة لكل عنصر في العنصر القابل للتكرار. يمكن أن يكون تحويلاً بسيطًا أو حتى عملية حسابية
على سبيل المثال، لنفترض أن لدينا قائمة بخمسة أرقام مخزنة في numbers
نريد إنشاء قائمة أخرى منها وتخزين مربعات هذه الأرقام فيها.
يمكننا القيام بذالك عن طريق تعريف List comprehensions تسمى squares الذي تقوم بعمل مربعات الاعداد لكل عدد عن طريق التعبير الآتي:
هي تعبير نفس هي التعبير :
output
نلاحظ نفس الجواب للجهتين طيب شو الفرق ؟
اولا: مصطلح قابل للقراءة اكثر ومختصر ونحن منحاول دائما نكتب كمية اقل من الكود و تعتبر هذه الكتابة بايثونية (شخص بيشرب بايثون بالعامية🌚)
ثانيا: اسرع نوعا بشكل بسيط من استخدام ال for loop التقليدية حسب تجربة الخبراء
هاد شرح فكرة بشكل مختصر و انشالله قريبا رح نزل notebook كامل وفيه امثلة وشرح شامل و مصادر ممتازة بعتذر عن التأخير لضيق الوقت
وكل الأسئلة يلي عم تجي ما عم يتم تجاهلها ولكن رح يتم الإجابة عنها اما بشرح عالقناة او رد قريبا💯
📛تذكر انا ما زلت بتعلم متلي متلك وماني متأكد من معلومتي وما عندي الخبرة الكافية والمؤهلات لأشرح فكرة بشكل عميق انو كيف هاد الامر من ناحية الذاكرة والاستخدام لهيك اغلب شروحاتي من مواقع موثوقة وناس خبراء مجرد مشاركة معلومة حسب الأسئلة يلي عم تجيني📛
#python #list
#A_person_who_learns_and_shares_what_he_learns_I_am_not_a_very_experienced_person_but_I_use_the_sources_I_learn_from_and_share_them.
#Anyone_can_make_mistakes
List comprehensions
هي إحدى ميزات Python المثيرة للاهتمام والمفيدة للغاية والتي تتيح لنا إنشاء القوائم ومعالجتها باستخدام بناء جملة أقصر بكثير.
Syntax
يتكون بناء الجملة الأساسي من قوسين مربعين [] يتضمنان تعبيرًا متبوعًا بجملة for. ويمكن تضمين شرط باستخدام if لفلترة البيانات
list_comp = [expression for item in iterable if condition]
Expression
يحدد التعبير ما يجب تضمينه في القائمة الجديدة لكل عنصر في العنصر القابل للتكرار. يمكن أن يكون تحويلاً بسيطًا أو حتى عملية حسابية
على سبيل المثال، لنفترض أن لدينا قائمة بخمسة أرقام مخزنة في numbers
نريد إنشاء قائمة أخرى منها وتخزين مربعات هذه الأرقام فيها.
يمكننا القيام بذالك عن طريق تعريف List comprehensions تسمى squares الذي تقوم بعمل مربعات الاعداد لكل عدد عن طريق التعبير الآتي:
numbers = [1, 2, 3, 4, 5]
squares = [num ** 2 for num in numbers]
print(squares)
هي تعبير نفس هي التعبير :
numbers=[1,2,3,4,5]
squares =[]
for num in numbers:
squares.append(num**2)
print(squares)
output
[1, 4, 9, 16, 25]
نلاحظ نفس الجواب للجهتين طيب شو الفرق ؟
اولا: مصطلح قابل للقراءة اكثر ومختصر ونحن منحاول دائما نكتب كمية اقل من الكود و تعتبر هذه الكتابة بايثونية (شخص بيشرب بايثون بالعامية🌚)
ثانيا: اسرع نوعا بشكل بسيط من استخدام ال for loop التقليدية حسب تجربة الخبراء
هاد شرح فكرة بشكل مختصر و انشالله قريبا رح نزل notebook كامل وفيه امثلة وشرح شامل و مصادر ممتازة بعتذر عن التأخير لضيق الوقت
وكل الأسئلة يلي عم تجي ما عم يتم تجاهلها ولكن رح يتم الإجابة عنها اما بشرح عالقناة او رد قريبا💯
📛تذكر انا ما زلت بتعلم متلي متلك وماني متأكد من معلومتي وما عندي الخبرة الكافية والمؤهلات لأشرح فكرة بشكل عميق انو كيف هاد الامر من ناحية الذاكرة والاستخدام لهيك اغلب شروحاتي من مواقع موثوقة وناس خبراء مجرد مشاركة معلومة حسب الأسئلة يلي عم تجيني📛
#python #list
#A_person_who_learns_and_shares_what_he_learns_I_am_not_a_very_experienced_person_but_I_use_the_sources_I_learn_from_and_share_them.
#Anyone_can_make_mistakes
بالمناسبة الناس يلي ما بتعرف شو هو ال notebook الخاص ببيئة jupyter
شرح بسيط من ابداع الذكاء الأصطناعي ما من ابداعي😁
ما هو Jupyter Notebook؟
Jupyter Notebook هو بيئة تفاعلية مفتوحة المصدر تُستخدم بشكل واسع في علوم البيانات، التعلم الآلي، والبرمجة. يتيح للمستخدمين كتابة وتنفيذ الشيفرات البرمجية، وعرض النتائج، وكتابة الملاحظات، كل ذلك في واجهة واحدة سهلة الاستخدام.
المميزات الرئيسية:
تفاعلية: يمكنك كتابة الشيفرة البرمجية وتنفيذها في خلايا (cells) منفصلة، مما يتيح لك رؤية النتائج بشكل فوري.
دعم لغات متعددة: يدعم Jupyter العديد من لغات البرمجة مثل Python، R، Julia، وغيرها.
التوثيق: يمكنك إضافة نصوص، معادلات رياضية، صور، وروابط، مما يجعل من السهل توثيق الأفكار والمشاريع.
مشاركة سهلة: يمكنك تصدير الـ Notebooks إلى صيغ متعددة مثل HTML، PDF، أو حتى مشاركة الروابط مباشرة.
مكتبات قوية: يدعم Jupyter العديد من المكتبات الشهيرة مثل NumPy، Pandas، Matplotlib، مما يجعله مناسبًا لتحليل البيانات والتصور.
رح نزل شرح عنو بالتفصيل من واقع تجربتي وكيف منشغلو وشوية اوامر سحرية فيه
#jupyter #notebook #python #NumPy #Pandas
شرح بسيط من ابداع الذكاء الأصطناعي ما من ابداعي😁
ما هو Jupyter Notebook؟
Jupyter Notebook هو بيئة تفاعلية مفتوحة المصدر تُستخدم بشكل واسع في علوم البيانات، التعلم الآلي، والبرمجة. يتيح للمستخدمين كتابة وتنفيذ الشيفرات البرمجية، وعرض النتائج، وكتابة الملاحظات، كل ذلك في واجهة واحدة سهلة الاستخدام.
المميزات الرئيسية:
تفاعلية: يمكنك كتابة الشيفرة البرمجية وتنفيذها في خلايا (cells) منفصلة، مما يتيح لك رؤية النتائج بشكل فوري.
دعم لغات متعددة: يدعم Jupyter العديد من لغات البرمجة مثل Python، R، Julia، وغيرها.
التوثيق: يمكنك إضافة نصوص، معادلات رياضية، صور، وروابط، مما يجعل من السهل توثيق الأفكار والمشاريع.
مشاركة سهلة: يمكنك تصدير الـ Notebooks إلى صيغ متعددة مثل HTML، PDF، أو حتى مشاركة الروابط مباشرة.
مكتبات قوية: يدعم Jupyter العديد من المكتبات الشهيرة مثل NumPy، Pandas، Matplotlib، مما يجعله مناسبًا لتحليل البيانات والتصور.
رح نزل شرح عنو بالتفصيل من واقع تجربتي وكيف منشغلو وشوية اوامر سحرية فيه
#jupyter #notebook #python #NumPy #Pandas
🛠 نصيحة للمطورين: استكشفوا موقع QuickRef.me 🌐
موقع اكتشفتوا مؤخرا وصراحة رهيب جدا اذا حابب توصل لمرجع سريع للغة معينة او framework او مكتبة او اداة برمجية او حتى امر بال linux او اختصارات لوحة المفاتيح لعدد من البرامج و مراجع اخرى غير كل هالأصناف اتصفحوا ما رح تندم ابدا
AI Assistant says🤖:😊(Enjoy)
إذا كنت تعمل في مجال البرمجة أو تطوير الويب، فإنني أوصي بشدة بزيارة QuickRef.me. هذا الموقع يعد مرجعًا سريعًا ممتازًا للعديد من اللغات البرمجية والأدوات.
لماذا هو مهم؟
المحتوى المنظم: يوفر الموقع معلومات مرتبة بطريقة سهلة الفهم، مما يجعل من السهل العثور على ما تحتاجه بسرعة.
تنوع اللغات: سواء كنت تستخدم Python، JavaScript، أو أي لغة أخرى، ستجد مراجع شاملة تغطي معظم الجوانب.
أقسام المراجع:
لغات البرمجة: مثل Python، Java، JavaScript، Ruby، وغيرها.
تطوير الويب: HTML، CSS، وأطر العمل المختلفة.
قواعد البيانات: MySQL، PostgreSQL، MongoDB.
أدوات التطوير: Git، Docker، وغيرها.
مكتبات وأطر العمل: React، Angular، Vue.js.
موارد إضافية: يربطك بمصادر تعليمية أخرى، مما يساعدك على تطوير مهاراتك بشكل مستمر.
تحديثات منتظمة: المعلومات تُحدث باستمرار، مما يضمن لك الوصول إلى أحدث الممارسات.
استخدام هذا الموقع سيساعدك على تحسين إنتاجيتك وتوفير الوقت في البحث عن المعلومات. أنصح الجميع بإضافته إلى قائمة المراجع الخاصة بهم.
للمزيد تابعني على linkedIn و Twitter
#QuikRef
#Programming #Toolkit #Linux_Command #Python #Database #Keyboard_Shortcuts
موقع اكتشفتوا مؤخرا وصراحة رهيب جدا اذا حابب توصل لمرجع سريع للغة معينة او framework او مكتبة او اداة برمجية او حتى امر بال linux او اختصارات لوحة المفاتيح لعدد من البرامج و مراجع اخرى غير كل هالأصناف اتصفحوا ما رح تندم ابدا
AI Assistant says🤖:😊(Enjoy)
إذا كنت تعمل في مجال البرمجة أو تطوير الويب، فإنني أوصي بشدة بزيارة QuickRef.me. هذا الموقع يعد مرجعًا سريعًا ممتازًا للعديد من اللغات البرمجية والأدوات.
لماذا هو مهم؟
المحتوى المنظم: يوفر الموقع معلومات مرتبة بطريقة سهلة الفهم، مما يجعل من السهل العثور على ما تحتاجه بسرعة.
تنوع اللغات: سواء كنت تستخدم Python، JavaScript، أو أي لغة أخرى، ستجد مراجع شاملة تغطي معظم الجوانب.
أقسام المراجع:
لغات البرمجة: مثل Python، Java، JavaScript، Ruby، وغيرها.
تطوير الويب: HTML، CSS، وأطر العمل المختلفة.
قواعد البيانات: MySQL، PostgreSQL، MongoDB.
أدوات التطوير: Git، Docker، وغيرها.
مكتبات وأطر العمل: React، Angular، Vue.js.
موارد إضافية: يربطك بمصادر تعليمية أخرى، مما يساعدك على تطوير مهاراتك بشكل مستمر.
تحديثات منتظمة: المعلومات تُحدث باستمرار، مما يضمن لك الوصول إلى أحدث الممارسات.
استخدام هذا الموقع سيساعدك على تحسين إنتاجيتك وتوفير الوقت في البحث عن المعلومات. أنصح الجميع بإضافته إلى قائمة المراجع الخاصة بهم.
للمزيد تابعني على linkedIn و Twitter
#QuikRef
#Programming #Toolkit #Linux_Command #Python #Database #Keyboard_Shortcuts
QuickRef.ME
QuickRef.ME - Quick Reference Cheat Sheet
Share quick reference and cheat sheet for developers
The Python Path Environment Variable
تؤثر متغيرات البيئة على سلوك Python
PYTHONPATH هو أحد هذه المتغيرات البيئية؛ أي أنه زوج من المفتاح (key-value pair)والقيمة يتم تخزينه في ذاكرة الكمبيوتر. وهو متاح لجميع البرامج التي تعمل في نفس البيئة.
ما هو متغير PYTHONPATH؟
PYTHONPATH هو متغير بيئة خاص يوفر إرشادات لمترجم بايثون حول أماكن العثور على المكتبات والتطبيقات المختلفة. يشبه متغير PATH في لغات أخرى مثل C وJava، ولكنه يحتوي على أدلة إضافية لوحدات بايثون.
يسمح لك PYTHONPATH بإضافة مسارات إلى ملفات بايثون الأخرى في سكربتاتك، مما يساعد بايثون في تحديد أماكن البحث عن الوحدات والملفات. هذا مفيد إذا كنت ترغب في الوصول إلى وظائف مختلفة دون الحاجة إلى كتابة المسار الكامل في كل مرة.
يمكن أن يكون PYTHONPATH إما دليلًا واحدًا أو قائمة من الأدلة مفصولة بواسطة النقطتين (:).
إذا تم تعيين PYTHONPATH إلى دليل واحد، سيبحث بايثون عن الوحدات والملفات في ذلك الدليل فقط.
إذا تم تعيين PYTHONPATH إلى قائمة من الأدلة، سيبحث بايثون عن الوحدات والملفات في كل من تلك الأدلة.
كيفية إعداد PYTHONPATH:
على نظامLinux
1-افتح Terminal.
2-افتح ملف ~/.bashrc في محرر النصوص.
3-أضف السطر التالي:
export PYTHONPATH="/home/my_user/code"
4-احفظ الملف وأعد تشغيل Terminal.
5-تحقق من الإعداد بكتابة: echo $PYTHONPATH.
على نظام Windows:
1-انقر بزر الماوس الأيمن على "This PC" واختر "properties".
2-انتقل إلى "Advance System Settings.".
3-انقر على "environment variable".
4-أضف متغيرًا جديدًا باسم PYTHONPATH وأدخل المسار المطلوب.
5-افتح موجه الأوامر واستخدم الأمر: python my_script.py.
بغض النظر عن الهري يلي فوق بالمختصر اذا كان عندك برنامج معين بيستخدم سكربتات او مكاتب خاصة فيه مضمنة فيه و احتجت انك توصل لهل المكاتب و السكربتات من خارج البرنامج رح تواجه مشكلة ان python ما رح يتعرف عهي المكاتب لانه بالاصل ما مضمنة ضمن بيئة بايثون الافتراضية لهيك اضافة متغير البيئة هاد بساعدنا نصل لأي مكتبة خارجية على الحاسوب وتضمينها و جعل المحرر ايضا يتعرف عليها ومن احد الأمثلة اي مكتبة قمت بتنزيلها مثلا وفك ضغط في مجلد معين بالنظام
مثلا برنامج webots يلي بيجي معه controller module الخاص فيه ومنحتاج نستخدم editor غير يلي داخل التطبيق لسهولة التكويد
بكل بساطة منروح منفتح متغيرات البيئة عنا بالنظام ومنضيف المفتاح PYTHONPATH والقيمة هو المسار الخاص بالسكريبت او المكتبة وبمثالنا غالبا بتكون بهاد المسار C:\Program Files\Webots\lib\controller\python
وبس و اذا كانت فاتح ال editor بتسكرو وبترجع تفتحو و رح تلاقي انو الكود انقرأ واذا مظبط امور ال editor بيعطيك اقتراحات من داخل السكريبتات وبدلعك بتمنى تكون وصلت الفكرة.
لا تنسا متابعتي على linkedIn و Twitter
#python #webots #PYTHONPATH
تؤثر متغيرات البيئة على سلوك Python
PYTHONPATH هو أحد هذه المتغيرات البيئية؛ أي أنه زوج من المفتاح (key-value pair)والقيمة يتم تخزينه في ذاكرة الكمبيوتر. وهو متاح لجميع البرامج التي تعمل في نفس البيئة.
ما هو متغير PYTHONPATH؟
PYTHONPATH هو متغير بيئة خاص يوفر إرشادات لمترجم بايثون حول أماكن العثور على المكتبات والتطبيقات المختلفة. يشبه متغير PATH في لغات أخرى مثل C وJava، ولكنه يحتوي على أدلة إضافية لوحدات بايثون.
يسمح لك PYTHONPATH بإضافة مسارات إلى ملفات بايثون الأخرى في سكربتاتك، مما يساعد بايثون في تحديد أماكن البحث عن الوحدات والملفات. هذا مفيد إذا كنت ترغب في الوصول إلى وظائف مختلفة دون الحاجة إلى كتابة المسار الكامل في كل مرة.
يمكن أن يكون PYTHONPATH إما دليلًا واحدًا أو قائمة من الأدلة مفصولة بواسطة النقطتين (:).
إذا تم تعيين PYTHONPATH إلى دليل واحد، سيبحث بايثون عن الوحدات والملفات في ذلك الدليل فقط.
إذا تم تعيين PYTHONPATH إلى قائمة من الأدلة، سيبحث بايثون عن الوحدات والملفات في كل من تلك الأدلة.
كيفية إعداد PYTHONPATH:
على نظامLinux
1-افتح Terminal.
2-افتح ملف ~/.bashrc في محرر النصوص.
3-أضف السطر التالي:
export PYTHONPATH="/home/my_user/code"
4-احفظ الملف وأعد تشغيل Terminal.
5-تحقق من الإعداد بكتابة: echo $PYTHONPATH.
على نظام Windows:
1-انقر بزر الماوس الأيمن على "This PC" واختر "properties".
2-انتقل إلى "Advance System Settings.".
3-انقر على "environment variable".
4-أضف متغيرًا جديدًا باسم PYTHONPATH وأدخل المسار المطلوب.
5-افتح موجه الأوامر واستخدم الأمر: python my_script.py.
بغض النظر عن الهري يلي فوق بالمختصر اذا كان عندك برنامج معين بيستخدم سكربتات او مكاتب خاصة فيه مضمنة فيه و احتجت انك توصل لهل المكاتب و السكربتات من خارج البرنامج رح تواجه مشكلة ان python ما رح يتعرف عهي المكاتب لانه بالاصل ما مضمنة ضمن بيئة بايثون الافتراضية لهيك اضافة متغير البيئة هاد بساعدنا نصل لأي مكتبة خارجية على الحاسوب وتضمينها و جعل المحرر ايضا يتعرف عليها ومن احد الأمثلة اي مكتبة قمت بتنزيلها مثلا وفك ضغط في مجلد معين بالنظام
مثلا برنامج webots يلي بيجي معه controller module الخاص فيه ومنحتاج نستخدم editor غير يلي داخل التطبيق لسهولة التكويد
بكل بساطة منروح منفتح متغيرات البيئة عنا بالنظام ومنضيف المفتاح PYTHONPATH والقيمة هو المسار الخاص بالسكريبت او المكتبة وبمثالنا غالبا بتكون بهاد المسار C:\Program Files\Webots\lib\controller\python
وبس و اذا كانت فاتح ال editor بتسكرو وبترجع تفتحو و رح تلاقي انو الكود انقرأ واذا مظبط امور ال editor بيعطيك اقتراحات من داخل السكريبتات وبدلعك بتمنى تكون وصلت الفكرة.
لا تنسا متابعتي على linkedIn و Twitter
#python #webots #PYTHONPATH
سلسلة مشاريع مفيدة في بايثون #project
#project_No_1
📢 مشروع جديد: تحويل دروس Python إلى Jupyter Notebooks تلقائيًا! 🐍💻
أشارككم اليوم مشروعي الجديد: PythonTutorial Notebook Generator!
هذا السكريبت الذي طورته باستخدام Python يقوم بتحويل دروس موقع PythonTutorial.net إلى ملفات Jupyter Notebooks منظمة وجاهزة للتعلم والتجربة! 📚
ماذا يفعل المشروع؟
🕸 استخراج الدروس: يجمع محتوى الدروس (نصوص، أكواد Python، مخرجات) من أقسام المبتدئين، OOP، والمتقدمين.
📝 إنشاء Notebooks: يحول كل درس إلى ملف .ipynb مع تنسيق احترافي (عناوين، نصوص، أكواد، مخرجات).
🚫 تصفية ذكية: يتجاهل الصفحات الرئيسية، الملخصات، والاختبارات، ويعالج مخرجات الكود كنصوص.
🔗 روابط المصدر: يضيف رابط الدرس الأصلي لكل Notebook.
⚡️ قوي ومرن: يتعامل مع أخطاء الشبكة ويضمن نتائج نظيفة.
لماذا هو مفيد؟
للمتعلمين: إذا كنت تتعلم Python، ستحصل على دروس جاهزة في Jupyter Notebooks لتشغيل الأكواد وتجربة الأمثلة.
للمطورين: مثال عملي على Web Scraping باستخدام requests وBeautifulSoup، معالجة النصوص بـ re، وإنشاء Notebooks بـ nbformat.
المستودع متاح الآن على GitHub🔗
حمل السكريبت، شغّله، وستجد الدروس جاهزة في مجلدات beginner، oop، وadvanced!
اقرأ README.md لمعرفة كيفية التثبيت والتشغيل.
#Python #WebScraping #JupyterNotebook #Automation
تابع القناة للمزيد من المشاريع التقنية المثيرة! 🔥
#project_No_1
📢 مشروع جديد: تحويل دروس Python إلى Jupyter Notebooks تلقائيًا! 🐍💻
أشارككم اليوم مشروعي الجديد: PythonTutorial Notebook Generator!
هذا السكريبت الذي طورته باستخدام Python يقوم بتحويل دروس موقع PythonTutorial.net إلى ملفات Jupyter Notebooks منظمة وجاهزة للتعلم والتجربة! 📚
ماذا يفعل المشروع؟
🕸 استخراج الدروس: يجمع محتوى الدروس (نصوص، أكواد Python، مخرجات) من أقسام المبتدئين، OOP، والمتقدمين.
📝 إنشاء Notebooks: يحول كل درس إلى ملف .ipynb مع تنسيق احترافي (عناوين، نصوص، أكواد، مخرجات).
🚫 تصفية ذكية: يتجاهل الصفحات الرئيسية، الملخصات، والاختبارات، ويعالج مخرجات الكود كنصوص.
🔗 روابط المصدر: يضيف رابط الدرس الأصلي لكل Notebook.
⚡️ قوي ومرن: يتعامل مع أخطاء الشبكة ويضمن نتائج نظيفة.
لماذا هو مفيد؟
للمتعلمين: إذا كنت تتعلم Python، ستحصل على دروس جاهزة في Jupyter Notebooks لتشغيل الأكواد وتجربة الأمثلة.
للمطورين: مثال عملي على Web Scraping باستخدام requests وBeautifulSoup، معالجة النصوص بـ re، وإنشاء Notebooks بـ nbformat.
المستودع متاح الآن على GitHub🔗
حمل السكريبت، شغّله، وستجد الدروس جاهزة في مجلدات beginner، oop، وadvanced!
اقرأ README.md لمعرفة كيفية التثبيت والتشغيل.
#Python #WebScraping #JupyterNotebook #Automation
تابع القناة للمزيد من المشاريع التقنية المثيرة! 🔥
GitHub
GitHub - fadel-hasan/python-tutorial-notebook-generator
Contribute to fadel-hasan/python-tutorial-notebook-generator development by creating an account on GitHub.
مع تزايد إجمالي الاستثمارات الخاصة في الذكاء الاصطناعي، ارتفعت الوظائف المرتبطة بمجال الذكاء الاصطناعي في الولايات المتحدة بنسبة 20% خلال عام 2024، وفقا لمؤشر الذكاء الاصطناعي لعام 2024 الصادر عن جامعة ستانفورد.
وجاءت لغة البرمجة بايثون في الصدارة، حيث سُجلت أكثر من 199 ألف إشارة ضمن إعلانات الوظائف المتعلقة بالذكاء الاصطناعي في الولايات المتحدة. ويُعزى هذا الطلب المرتفع إلى الاستخدام الواسع للغة في تطوير واختبار ونشر أنظمة الذكاء الاصطناعي. وقد ارتفع الطلب على مهارة بايثون بنسبة 527% مقارنة بما كان عليه بين عامي 2012 و2024.
#python #AI #dataScience
وجاءت لغة البرمجة بايثون في الصدارة، حيث سُجلت أكثر من 199 ألف إشارة ضمن إعلانات الوظائف المتعلقة بالذكاء الاصطناعي في الولايات المتحدة. ويُعزى هذا الطلب المرتفع إلى الاستخدام الواسع للغة في تطوير واختبار ونشر أنظمة الذكاء الاصطناعي. وقد ارتفع الطلب على مهارة بايثون بنسبة 527% مقارنة بما كان عليه بين عامي 2012 و2024.
#python #AI #dataScience