قم بتحديث البرنامج النصي Python باستمرار في وحدة التحكم NppExec [Notepad++]
سؤال
أكتب نصوص بايثون باستخدام NppExec/Notepad++.كيف أقوم بتحديث نافذة وحدة التحكم الخاصة بي عند تنفيذ كل سطر من كود Python الخاص بي؟على سبيل المثال، البرنامج النصي للمؤقت التالي:
#!usr/bin/env python
import time
import threading
class Timer(threading.Thread):
def __init__(self, seconds):
self.runTime = seconds
threading.Thread.__init__(self)
def run(self):
counter = self.runTime
for sec in range(self.runTime):
print counter
time.sleep(1.0)
counter -= 1
print "Done."
if __name__ == '__main__':
t = Timer(10)
t.start()
عندما أقوم بتشغيل هذا في نافذة موجه الأوامر، يتم تحديثه مباشرة كل ثانية.ولكن في وحدة التحكم NppExec، يتم تحديثه فقط بعد الخروج.هل هناك طريقة لجعل وحدة التحكم NppExec تعمل كموجه الأوامر وتقوم بالتحديث بشكل مستمر؟
المحلول 2
كل ما يجب فعله هو استدعاء python -u
أمر لتشغيل البرنامج النصي، أي. python -u timer.py
بدلاً من python timer.py
يؤدي هذا إلى طباعة الإخراج في الوضع غير المخزن بشكل افتراضي.لمسح المخرجات المخصصة في برامج أكثر تفصيلاً، يمكن استخدام stdout
التعريف يجب أن يكون إعادة كتابتها.
نصائح أخرى
لست على دراية بكيفية تعامل تطبيق وحدة التحكم هذا مع الإخراج، ولكن stdout
يتم تخزينه مؤقتًا بشكل افتراضي، وربما تكون هذه هي المشكلة هنا.يرى هذا السؤال للتعرف على طرق تعطيله.