代码之家  ›  专栏  ›  技术社区  ›  vivek patel

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

  •  0
  • vivek patel  · 技术社区  · 8 年前

    我是python新手。我必须创建一个列表,其中包含文件名、路径和python中的一些命令。我必须在cmd中执行。它将打开编译器并在其中设置一些用于编译文件的设置。 apc G:\organization\TE\Patel\ASCII\u Open\u Program\src\atp\Functionality\clk\u Watchdog。atp G:\organization\TE\Patel\ASCII\u Open\u Program\src\atp\Functionality\CP\u UV\u Threshold。atp-opcode\u mode single-pinmap\u工作簿G:\organization\TE\Patel\ASCII\u Open\u Program\src\xls\pinmap\u BE。txt-注释

    我想我正在用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)  
    

    1 回复  |  直到 8 年前
        1
  •  0
  •   vivek patel    8 年前

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

    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)