قم بتحديث البرنامج النصي Python باستمرار في وحدة التحكم NppExec [Notepad++]

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

سؤال

أكتب نصوص بايثون باستخدام 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 يتم تخزينه مؤقتًا بشكل افتراضي، وربما تكون هذه هي المشكلة هنا.يرى هذا السؤال للتعرف على طرق تعطيله.

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