2017-01-18 8 views
0

Я написал скрипт (или функцию) python, который получает некоторый аргумент и должен запускаться с помощью abaqus, и я хочу сделать это с помощью командного файла. Я новичок в пакетном файле и не знаю, как я могу запускать скрипт python по разному пути от abaqus. Например, предположим, что путь кода python равен D:\pythonscript\test.py.Запуск скрипта abaqus python через командный файл?

+0

, показывающий, что на самом деле в вашем скрипте может быть просветляющим – agentp

+0

Это код python, который получает пару переменных и выполняет некоторые действия в abaqus, и это именно так. – user44

ответ

0

Это должно сработать, вам нужно будет обновить свой путь до Abaqus, поскольку я предполагаю, что ваша версия является более поздней.

"C:\Abaqus\6.10-EF2\exec\abq610ef2.exe" cae script=D:\pythonscript\test.py %* 
+0

Не работает. есть ли проблема, если у меня есть пробел между моим сценарием? – user44

+0

Если вы открываете cae, скрипт работает, если вы выберете скрипт для запуска файла? Также вы установили путь abaqus к тому, который используете? Когда вы запускаете командный файл, cmd открывается и отображаются все сообщения. Дайте мне знать, как вы попадаете на – CodeCupboard

+0

. Да. Он работает правильно, когда я запускаю его с помощью опции сценария запуска в графическом интерфейсе Abaqus. Для получения пути, который был установлен abaqus, я делаю правый щелчок на значке ABAQUS на рабочем столе и затем «открываю местоположение файла». Но я просто вижу abq6134.bat, а не какой-либо файл .exe на этом пути, и когда я ищу Abaqus CAE.exe, и я нахожу его путь, этот путь очень отличается по сравнению с указанным вами путем, и я думаю, что это не должно быть так. Могу ли я вставить путь abq6134.bat вместо Abaqus CAE.exe? – user44

0

Если вы хотите передать инфокоммуникационных вашему питон скрипт из пакетного файла, вам необходимо sys

import sys 
inodb = openOdb(path=str(sys.argv[1])) #for example 

argv список аргументов, отправленных в сценарий питона. argv[0] - это имя и путь самого скрипта, и каждая вещь после этого разделяется пробелами.

Затем в пакетном файле (например):

for %%f in (.\*.odb) do (
    abaqus python D:\pythonscript\test.py %%f 
) 

Это для самостоятельных сценариев. Вам придется немного изменить его для сценариев cae, но я больше их не использую (значит, мне нужна лицензия, которая в дефиците), поэтому я не знаю, как это сделать.

0

Вы можете использовать следующую строку в файл .bat, чтобы Abaqus запустить питон скрипт:

start abaqus cae script="C:<location_of_.py_script>\<scriptname>.py" 

Я бы рекомендовал иметь аргументы для сценария питона, собранного в самом питоне сценария, либо с помощью функция input() или путем чтения входного файла в другом месте. Вы можете указать в скрипте python, где найти файл, содержащий аргументы.

+0

похоже на принятый ответ. – agentp

+0

Возможно, вы правы, я не претендую на роль эксперта в программировании.Однако я узнал, что для программирования требуется строгий синтаксис, и я не мог понять, что означает знак «% *». Я также попытался найти файл abaqus.exe или упомянутый выше, но мне не удалось найти исполняемый файл для abaqus. У меня есть папка SIMULIA со многими подпапками, которые я не искал полностью, и опция поиска дала мне много файлов .exe. Просто выяснилось, что вышеупомянутая команда работала для меня и надеялась, что это может помочь кому-то. –

Смежные вопросы