python程序中的指令顺序

时间:2019-05-27 13:39:27

标签: python python-3.x

我正试图编写一个程序来运行我的脚本,该脚本针对作为参数给出的某个参数使用不同的值,其思想是优化所述参数的值。 为此,我运行以下代码:

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,

任何想法为何会这样,以及如何解决该问题?

0 个答案:

没有答案