حدد هل تريد تطبيع المنصة. [1] [2]
الخلاصة السريعة
في اختبار ويندوز، يطابق fnmatch حالة الاسم المختلفة؛ fnmatchcase يرفضها. [1] [2]
- للاسم Leaf.TXT والنمط *.txt: الناتجان True وFalse بالترتيب. [1] [2]
- fnmatch يطبق os.path.normcase على الاسم والنمط. [1] [2]
- fnmatchcase يقارن بحساسية الحالة، دون هذا التطبيع. [1] [2]
- النجمة في *.txt محرف بديل؛ ليس النمط تعبيرًا نمطيًا. [1] [2]
- اختبرنا 3.12.14 على ويندوز ونصوص مؤلفة؛ المطابقة لا تثبت وجود ملف. [1] [2]
المثال
import fnmatch as f s='Leaf.TXT' print(f.fnmatch(s,'*.txt')) print(f.fnmatchcase(s,'*.txt'))
المخرجان هنا True ثم False. [1] [2]
سبب الاختلاف
في الاختبار يصير الاسم المطبع leaf.txt، ويبقى النمط *.txt؛ فتختفي مخالفة حالة الامتداد. [1] [2]

دون التطبيع، تختلف TXT عن txt. لا نعمم نتيجة الدالة الأولى على كل منصة. [1] [2]
النطاق
مررنا سلسلتين؛ لم نسرد مجلدًا أو نفتح ملفًا. اختر الدالة بحسب قاعدة الحالة المطلوبة. [1] [2]
المراجع
- Python: fnmatch / fnmatchcase
- CPython 3.12.14: fnmatch.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
