حدّد هل تدخل الحلقة أم ترسل أمرًا مباشرة. [1] [2]
الخلاصة السريعة
المثال
import cmd
class Shell(cmd.Cmd):
def precmd(self,s):
print("pre");return s
def do_bud(self,s):
print("do");return True
def postcmd(self,stop,s):
print("post");return stop
x=Shell()
x.use_rawinput=False
x.onecmd("bud")
print("---")
x.cmdqueue=["bud"]
x.cmdloop()الحلقة تضم الخطافين
المصدر يستدعي precmd ثم onecmd ثم postcmd داخل cmdloop. قبل الفاصل نرى do؛ بعده نرى الأسطر الثلاثة بالترتيب. [1] [2]

حد المقارنة
تجاوزنا الخطافين ومعالج الأمر فقط؛ لم نغير onecmd أو cmdloop. نتيجة المسار المباشر ليست دليلًا على تشغيل خطافَي الحلقة في فئة مخصصة أخرى. [1] [2]
المراجع
- Python 3.12: Cmd execution hooks
- CPython 3.12.14: dispatch and loop
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
