python如何通过shell编译文件列表

how to compile file list through shell by python

我是 python 的新人。我必须创建一个列表,其中包含文件名及其路径和 python 中的一些命令。我必须在 cmd 中执行。它将打开编译器并在其中设置一些用于编译文件的设置。 我的问题是,当我在 cmd 中使用命令手动键入几个文件时它会工作但是当我通过 python 执行相同的列表时它说它找不到 pinmap 文件。以下几行我在 cmd 中编写并且工作正常。 (apc和'-'开头的是cmd的命令) apc G:\Organisation\TE\Patel\ASCII_Open_Program\src\atp\Functionality\clk_Watchdog.atp G:\Organisation\TE\Patel\ASCII_Open_Program\src\atp\Functionality\CP_UV_Threshold.atp -opcode_mode single -pinmap_workbook G:\Organisation\TE\Patel\ASCII_Open_Program\src\xls\PinMap_BE.txt -comments

我想我在 python 做同样的事情。我的代码是

def APC_Compiler():
    list = ["apc "]
    #list.append('apc ')
    for root,dirs,files in os.walk(atp_folder_path + '\SCAN'):
        for file in files:
            if file.endswith(".atp"):                  
                 list.append(os.path.join(root, file))

    list.append(' -opcode_mode single ')
    list.append(' -pinmap_workbook  ')
    list.append(' G:\Organisation\TE\Patel\ASCII_Open_Program\src\xls\PinMap_BE.txt')
    list.append(' -comments ')              
    print (list)
    subprocess.call(list)  

谁能告诉我我做错了什么。 有没有更好的方法来制作带有命令的文件列表并执行它??

这是我的解决方案,我所要做的就是添加一条指令,该指令可以将所有列表转换为一个字符串并执行它。我已经在指令附近发表了评论,我已经添加了指令来解决我的问题。

def apc_compiler():
        """ Compiles all the *.atp files into *.pat file """

    list = ['apc ']
    for root, dirs, files in os.walk(atp_folder_path):
        for file in files:
            if file.endswith('.atp'):
                list.append(os.path.join(root, file) + ' ')

    list.append(' -opcode_mode single ')
    list.append(' -pinmap_workbook ')
    list.append(pinmap_folder_path)
    list.append(' -comments ')
    list = ''.join(list) # instruction to convert list in to single string

    subprocess.call(list)