سؤال
ربما هذا سؤال سخيف.
أنا أجرب Python Doctest ، وأحاول الجري هذه مثال
وتنتهي مع
if __name__ == "__main__":
import doctest
doctest.testfile("example.txt")
لقد وضعت "example.txt" في نفس المجلد مثل الملف المصدر الذي يحتوي على رمز المثال ، لكنني أحصل على الخطأ التالي:
Traceback (most recent call last):
File "test_av_funktioner.py", line 61, in <module>
doctest.testfile("example.txt")
File "C:\Python26\lib\doctest.py", line 1947, in testfile
text, filename = _load_testfile(filename, package, module_relative)
File "C:\Python26\lib\doctest.py", line 219, in _load_testfile
return open(filename).read(), filename
IOError: [Errno 2] No such file or directory: 'example.txt'
هل يمكنني إخباري/تعيينه بطريقة أو بأخرى حيث تبحث وحدة Doctest عن الملف المحدد؟
المحلول
يبحث الدكتوراه بالنسبة إلى دليل وحدة الاتصال افتراضيًا (ولكن يمكنك تجاوز هذا).
نقلا عن المستندات ل doctest.testfile
:
حجة اختيارية
module_relative
يحدد كيفية تفسير اسم الملف:
- إذا
module_relative
هو حقيقي (الافتراضي) ، ثمfilename
يحدد مسار ترشيح الوحدة النمطية المستقلة عن نظام التشغيل. بشكل افتراضي ، يكون هذا المسار بالنسبة إلى دليل وحدة الاتصال ؛ ولكن إذاpackage
تم تحديد الوسيطة ، ثم تكون نسبة إلى تلك الحزمة. لضمان استقلال نظام التشغيل ،filename
يجب استخدام/
الشخصيات لفصل شرائح المسار ، وقد لا تكون مسارًا مطلقًا (أي ، قد لا تبدأ بـ/
).- إذا
module_relative
هو خطأ شنيع, ، ومن بعدfilename
يحدد مسار OS الخاص. قد يكون المسار مطلقًا أو نسبيًا ؛ يتم حل المسارات النسبية فيما يتعلق بدليل العمل الحالي.
لا تنتمي إلى StackOverflow