2017-02-09 1 views
0

У меня есть код на Python, который запускает код C++, который принимает файлы в другой папке в качестве входных данных. У меня есть свои коды в папке A, а входные файлы находятся в папке B, и я пытался это:Выполнение файла .exe в файлах в другой папке

path = 'C:/pathToInputFiles' 
dirs = os.listdir(path) 

for path in dirs: 
    proc = subprocess.Popen([fullPathtoCppCode, inputFiles]) 

Однако я продолжаю получать WindowsError: [Error 2] The system cannot find the file specified

Единственный способ это работает, когда я поместите исполняемый файл C++ в ту же папку входных файлов, которую я избегаю.

Как я могу заставить python правильно читать путь к файлу?

+0

Если вы '' импорта os'', а затем '' os.path.exists (fullPathtoCppCode) ' ', что вы получаете? – alexblae

+0

@alexblae Я попробовал и ничего не получил! Что я должен получить, если все работает нормально? – philippos

+0

Обычно вы должны получить '' True'', если файл существует, а иначе '' False''. Таким образом, кажется, что путь, указанный вами к пути к файлу, на самом деле не существовал. Но я думаю, что ответ от @NineTail устранил проблему. – alexblae

ответ

1

Попробуйте использовать os.path.join после утверждения for.

путь = os.path.join (каталог, имя файла)

, например

def test(directory): 
    for filename in os.listdir(directory): 
     filename = os.path.join(directory, filename) 
     proc = subprocess.Popen([fullPathtoCppcode, inputFiles]) 
Смежные вопросы