2015-06-22 4 views
0

Я звоню Microsoft Ajax Minifier из Python, как так:Microsoft Ajax Minifier ошибка доступа путь вывода при вызове из Python

minifyArguments = ["C:\Program Files (x86)\Microsoft\Microsoft Ajax Minifier\AjaxMin.exe"] 

for f in filesToMinify: 
    minifyArguments.append(f) 

minifyArguments.append("–out") 
minifyArguments.append("C:\\Users\\XXX\\Desktop\\TestFolder") #minifyJSDestinationPath 
minifyArguments.append("–clobber") 

ajaxMinProcess = subprocess.Popen(minifyArguments, shell=False) 

stdout, stderr = ajaxMinProcess.communicate() 

Это прекрасно работает, и я вижу, что он начинает и т.д., но когда он хочет напишите выходной файл, он дает ошибку:

AjaxMinifier.exe: ошибка AM-AUTH: Доступ к пути 'C: \ Users \ XXX \ Desktop \ TestFolder' запрещен.

Я пробовал разные папки, проблема не только в том, что содержится в коде. Он не может записываться в любую папку.

Когда я не называю это из Python, но непосредственно из командной строки, он работает без проблем. Почему это происходит и как я могу это исправить?

Спасибо.

ответ

0

Я нашел решение моей проблемы:

Эта линия:

minifyArguments.append("C:\\Users\\XXX\\Desktop\\TestFolder") 

должны включать в себя имя файла, как это:

minifyArguments.append("C:\\Users\\XXX\\Desktop\\TestFolder\\script.min.js")