我正试图编写一个程序来运行我的脚本,该脚本针对作为参数给出的某个参数使用不同的值,其思想是优化所述参数的值。 为此,我运行以下代码:
Serial.readString();
我使用命令行运行程序:
def create_output_file(header):
"""
Creates and redirects the printing to the output ext file as argv[0].ext
"""
root, ext_py = os.path.splitext(sys.argv[1])
ext = ".csv"
outputFile = open(root + ext, 'a')
outputFile.write(header)
return outputFile
def main():
testName = sys.argv[1]
param_option = sys.argv[2]
commonRoot = "./" + testName + " " + param_option + "="
# parameter variation range
max_param = 1
min_param = 3
num_values = 3
# Header of output file
m_header = str(param_option) + ",Total\n"
outputFile = create_output_file(m_header)
for param in numpy.linspace(min_param, max_param, num_values):
commandLine = commonRoot + str(param)
outputFile.write(str(optim_param)+",")
os.system(commandLine)
commandLine变量采用以下值:
./program script.py --width
这是问题所在:输出文件不是我想要的那样。指令顺序似乎有问题,好像在'outputFile.write(str(optim_param)+“,”)'之前运行'os.system(commandLine)'一样。 这是输出文件的一个示例:
./script.py --width=1
./script.py --width=2
./script.py --width=3
我寻找的时间是:
--param,Total
100001.2350
--param,99983.9760
--param,100039.5340
--param,
任何想法为何会这样,以及如何解决该问题?