我有这个文件/文件夹结构:
out
我想从run_test.exe
可执行文件中连续运行run_test.exe
文件夹子文件夹中的所有测试可执行文件(test1,test2等)。
在我的run_test.exe
代码中,我可以使用Windows API中的GetModuleFileName()
函数获取可执行文件import sys
import numpy as np
import scipy.sparse
import pickle
import xgboost as xgb
# /home/mjoys/user_profile
dtrain = xgb.DMatrix('/home/mjoys/user_profile/data/goods_items/textdata.txt')
print dtrain
的工作目录。我的问题是如何从run_test代码执行(或触发)测试可执行文件?我应该导航到每个可执行文件夹还是可以使用相对目录更改来执行此操作?
答案 0 :(得分:1)
您可以从bin目录导航回来。通常,可以在命令中使用的所有东西都可以使用。尝试使用dirent.h.在那里,您可以获取out文件夹的子文件夹并循环它们,使用简单的sprintf解析每个测试运行的命令。
答案 1 :(得分:0)
它取决于运行每个测试可执行文件时当前工作目录的位置。我要做的是使用GetModuleFileName
获取可执行文件的位置,然后删除exe的名称和bin
以获取根目录作为绝对路径。
然后可以通过将根直接连接到(例如)"out\\test1\\test1.exe"
如果需要将当前目录设置为test目录,只需将"out\\test1"
连接到根目录,然后使用SetCurrentDirectory设置当前工作的directoy。然后,您可以使用其名称运行可执行文件,例如test1.exe