我正在测试大量学生的Python项目。我在一个名为 mydoctest.rst
的单独文件中创建了一个 doctest。
doctest 的第一行导入学生项目的模块:
from project3 import functionname
当我从与学生项目相同的目录调用它时,doctest 工作正常:
studentA$ python3 -m doctest mydoctest.rst
我想做的是使用 bash for 循环命令为每个子目录执行上述操作,所以我尝试执行以下操作。
parentdirectory$ for d in *; do python3 -m doctest "$d/"mydoctest.rst; done
但随后它会尝试在当前目录而不是每个子目录中查找模块。
有没有办法在执行 do python3 -m doctest
之前先 cd 进入每个子目录?
我当前的解决方法(我对此不满意)是: 对于 * 中的 d;执行 cd "$d"; python3 -m doctest mydoctest.rst;光盘..;完成
最佳答案
我建议使用子 shell (...)
和 cd
:
for d in *; do (cd "$d" && python3 -m doctest mydoctest.rst); done
关于python - 使用 bash for 循环从位于子目录中的单独文件运行 Python doctest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42711582/