كيفية اختبار البرنامج النصي Python مع ملف إدخال مليء مع testcases؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

أنا أشارك في مسابقات القاضي عبر الإنترنت وأريد اختبار الكود الخاص بي بملف .in مليء بالوقت إلى وقت خوارزمية. كيف يمكنني الحصول على السيناريو الخاص بي لأخذ مدخلات من هذا الملف؟

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

المحلول

لذا ، فإن البرنامج النصي يأخذ عادة حالات الاختبار من stdin ، والآن تريد الاختبار باستخدام حالات الاختبار من ملف؟

إذا كان هذا هو الحال ، استخدم < عملية إعادة التوجيه على خط CMD:

my_script < testcases.in

نصائح أخرى

اقرأ من الملفات (الملفات) و/أو stdin:

import fileinput
for line in fileinput.input():
    process(line)

pyunit "قد يكون إطار اختبار الوحدة القياسي لـ Python" هو ما تبحث عنه.


القيام برمجي صغير يفعل شيئًا كهذا:

#!/usr/bin/env python
import sys

def main():
    in_file = open('path_to_file')
    for line in in_file:
        sys.stdout.write(line)

if __name__ == "__main__":
    main()

وتشغيل كما

this_script.py | your_app.py

يمكنك القيام بذلك في ملف منفصل.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top