2013-07-11 2 views
0

Я сделал build.properties файл в муравья, в котором я определил некоторые переменные, как показано нижеКак получить доступ к муравей переменных в питон скрипт

webinf.dir = WEB-INF 

src.dir = ${webinf.dir}/src 

Теперь эти переменные доступны в муравьиной файле build.xml и его работающ отлично. Но я хочу также получить доступ к этим переменным в моем файле python. И я хочу значение src.dir прийти в WEB-INF/src не как ${webinf.dir}/src

Пожалуйста, помогите, как я могу это сделать.

Спасибо ..

ответ

0

Я считаю, что вы можете использовать монтируемое свойство (например build.py), который читается Ant и Python. Например:

build.xml

<project default="build"> 
    <property file="build.py"/> 
    <target name="build"> 
     <echo message="${src.webinf}"/> 
    </target> 
</project> 

script.py

#!/usr/bin/python 

import ConfigParser 
config = ConfigParser.ConfigParser() 
config.read("build.py") 
print config.get("properties", "src.webinf") 

build.py

[properties] 
src.webinf = WEB-INF 

Пример использования

$ ant 
Buildfile: /Applications/MAMP/htdocs/clicks/test/build.xml 

build: 
    [echo] WEB-INF 

BUILD SUCCESSFUL 
Total time: 0 seconds 

$ python script.py 
WEB-INF 
+0

На самом деле на второй мысли, используя общие свойства файлов ограничивает пар ключ-значение вы можете иметь свойства, так что вы можете исследовать некоторые сторонние библиотеки Python, которые могут читать Java файлы свойств –

+0

Привет, но моя проблема заключается в src.dir = $ {webinf.dir}/src. Я не могу определить переменную, как определено выше. и, получая значение src.dir, я хочу, чтобы он прошел полный путь. –

+0

Я редактировал скрипт Python для использования ConfigParser. Это работает для вас? –