Форум сайта python.su
Всем здравствуйте, собственно код -
import os command = r'"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe"' os.system(command)
import os command = r'"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe" CREATEINFOBASE File=e:\\test4; /AddInList TEST4 /UseTemplate "E:\\Share\\Python\\1C\\CFs\\Acc\\2\\1Cv8.cf"' os.system(command)
Отредактировано Maxem (Янв. 24, 2016 08:22:11)
Офлайн
Maxem
код нужно обрамлять в теги code
Maxemэто бессмыслица какая то
command = r'“C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe”'
command = r'"C:\Program Files (x86)\1cv8\common\1cestart.exe"'
Офлайн
command = r'"C:\Program Files (x86)\1cv8\common\1cestart.exe" CREATEINFOBASE File=e:\test4; /AddInList TEST4 /UseTemplate "E:\Share\Python\1C\CFs\Acc\2\1Cv8.cf"'
Отредактировано Maxem (Янв. 24, 2016 08:19:39)
Офлайн
насколько я понял он вставляет в командную строку команду
C:\Program Files (x86)\1cv8\common\1cestart.exe CREATEINFOBASE File=e:\test4; /AddInList TEST4 /UseTemplate E:\Share\Python\1C\CFs\Acc\2\1Cv8.cf
и она ругается (ось)
“С:\Program” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
но почему питон передает без кавычек?
Офлайн
JOHN_16Почему же бессмыслица? Запуск одноэс.
это бессмыслица какая то
command = r'“C:\Program Files (x86)\1cv8\common\1cestart.exe”'
Офлайн
А если попробовать вместо os.system написать os.startfile?
Офлайн
FirikА он с аргументами стартанет?
А если попробовать вместо os.system написать os.startfile?
Офлайн
Maxem
Возможно что нет. Для передачи аргументов рекомендуется использовать в 3 питоне subprocess. Пример из оф. документации:
>>> import shlex, subprocess >>> command_line = raw_input() /bin/vikings -input eggs.txt -output "spam spam.txt" -cmd "echo '$MONEY'" >>> args = shlex.split(command_line) >>> print args ['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', "echo '$MONEY'"] >>> p = subprocess.Popen(args) # Success!
Отредактировано Firik (Янв. 24, 2016 08:57:24)
Офлайн
Maxem
так не работает
import subprocess as sp sp.check_call('start "1" "C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe" CREATEINFOBASE File=e:\\test4; /AddInList TEST4 /UseTemplate E:\\Share\\Python\\1C\\CFs\\Acc\\2\\1Cv8.cf',shell=1)
Отредактировано doza_and (Янв. 24, 2016 09:14:01)
Офлайн
doza_and
А если экранировать пробелы? Как пишут:
"Для того, что бы командная оболочка правильно трактовала имена с пробелами необходимо их экранировать в кавычки, например так:
import os os.system(r'c:/"Program Files"/"Mozilla Firefox"/firefox.exe')
Офлайн