Вы должны использовать json.load
для анализа ответа вместо объекта JSON:
import json
friends = json.load(urllib2.urlopen("https://api.roblox.com/users/313376/friends"))
В противном случае friends[0]
просто извлекает первый символ ответа в виде строки.
Почему бы не использовать antcall для вызова цели, которая ссылается на все ваши подкаталоги, и параметризации цели, которая будет вызвана. например,
<antcall target="doStuffToSubdirs">
<!-- let's clean -->
<param name="param1" value="clean"/>
</antcall>
, а затем:
<target name="doStuffToSubdirs">
<ant dir="corelib" target="${param1}"/>
<ant dir="tools" target="${param1}"/>
...etc
</target>
, так что это позволяет вам параметризировать вызовы к вашим подчиненным папкам. Если вы добавляете новый subdir, вам нужно только добавить этот subdir в цель doStuffToSubdirs (я бы также переименовал это!)
Put one clean target in your commonbuild.xml and in the child files just import your parent build.xml
<import file="${parent.dir}/commonbuild.xml" />
Now you will be able to call the clean target in your child builds. You can also override this target by creating a clean target in any of your child builds.