في IPython كيف يمكنني إنشاء أسماء مستعارة لـ %magics؟

StackOverflow https://stackoverflow.com/questions/296055

  •  08-07-2019
  •  | 
  •  

سؤال

لنفترض أنني أريد إنشاء الاسم المستعار %xed لـ %edit -x.كيف أفعل ذلك؟

هل كانت مفيدة؟

المحلول

تحديث: الاستجابة الأولى (أدناه) لا تقبل المعلمات.لذا ضع هذا المقتطف في نهاية ملف ipy_user_conf.py (الموجود في دليلك الرئيسي).

def ed_xed(self,arg):
    ip = self.api
    return ip.magic.im_class.magic_edit(ip.IP," -x %s "%arg)

ip.expose_magic('xed',ed_xed)

قبل التحديث:هل يجب أن يكون السحر؟يمكنك استخدام الماكرو وتخزين السحر لإعادة إنتاج هذا السلوك بدون % السحري.

In [5]: %edit -x
In [6]: macro xed 5
In [7]: store xed
In [8]: xed

للاسم المستعار السحري من الوثائق (٪magic؟):

يمكنك أيضا تحديد الاسم المستعار الخاص بك أسماء للوظائف السحرية.في الخاص بك ipythonrc ، ووضع سطر مثل:

ينفذ إبيثون.magic_pf = إبيثون.magic_profile

سيحدد ٪ pf كاسم جديد ل ٪ الملف الشخصي.

لكنني لا أعرف أيضًا كيفية إضافة المعلمة.

نصائح أخرى

والجواب المذكور أعلاه يستخدم نظام السحر القديم. get_ipython().expose_magic ميت. أنت الآن مجرد استيراد واستخدام الديكور مع كل هذا.

هنا لمزيد من التفاصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top