2017-10-24 10 views
0

나는 파이썬으로 새로운 것이다. 파이썬에서 경로와 파일명을 가진리스트를 만들어야한다. cmd에서 실행해야합니다. 컴파일러를 열고 파일을 컴파일하기위한 몇 가지 설정을합니다. 제 문제는, cmd를 입력 할 때 cmd로 명령을 입력하면 완전히 작동하지만, 파이썬을 통해 같은 목록을 실행하면 핀 맵 파일을 찾을 수 없다는 메시지가 나타납니다. 다음 줄을 내가 cmd를 작성하고 잘 작동합니다. (apc 및 시작 '-'cmd의 명령입니다) apc G : \ 조직 \ TE \ 파텔 \ ASCII_Open_Program \ src \ atp \ 기능 \ clk_Watchdog.atp G : \ 조직 \ TE \ Patel \ ASCII_Open_Program \ src \ atp \ 기능 \ CP_UV_Threshold.atp -opcode_mode 단일 -pinmap_workbook의 G : \기구 \ TE \ 파텔 \ ASCII_Open_Program \ SRC \ XLS \ PinMap_BE.txt -comments파이썬으로 쉘을 통해 파일 목록을 컴파일하는 방법

내가 파이썬에서 같은 일을하고있는 중이 야 생각합니다. 내 코드는

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) 

누구나 내가 뭘 잘못하고 있는지 알려주실 수 있습니다. 명령을 사용하여 파일 목록을 만들고 실행하는 더 좋은 방법은 무엇입니까 ??

+0

나는 내 문법에 집중하지 못해 죄송합니다. 다음 번에는 계속 기억해 두겠습니다. 하지만 지금 나는 대답을 얻었다. 명령을 사용하여 문자열을 열려면 모든 목록을 실행해야합니다. 나는 '.join (list) 명령을 사용하여 해왔습니다. –

답변

0

여기 내 해결책은 모든 목록을 하나의 문자열로 변환하여 실행할 수있는 명령 하나를 추가하는 것입니다. 나는 나의 문제를 해결하기 위해 내가 추가 한 지시에 가까이 다가 갔다.

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)