Login  Register

Re: python scripting question

Posted by Albert Cardona-2 on Apr 24, 2014; 12:12pm
URL: http://imagej.273.s1.nabble.com/python-scripting-question-tp5007412p5007415.html

2014-04-24 4:33 GMT-04:00 Aryeh Weiss <[hidden email]>:

> I have the following snippet in my code, designed to create an output
> directory if it does not already exist:
>
> 91 outDir = os.path.join(inputDir,"zPlots/")
> 92 print outDir
> 93 if not os.path.exists(outDir):
> 94     os.makedirs(outDir)
>
>
> If the directory exists, this runs ok. If I skip line 93 and make the
> directory withotu checking,
>
> If the directory does not exist, it produces an error.
>
> File "<iostream>", line 93, in <module>
> File "/Applications/local/fiji/Fiji.app/jars/jython-2.7-bl.jar
> /Lib/posixpath.py", line 171, in exists
> File "/Applications/local/fiji/Fiji.app/jars/jython-2.7-bl.jar
> /Lib/posixpath.py", line 171, in exists
> java.lang.AbstractMethodError: org.python.modules.posix.
> PythonPOSIXHandler.error(Ljnr/constants/platform/Errno;
> Ljava/lang/String;)V
>     at jnr.posix.BaseNativePOSIX.stat(BaseNativePOSIX.java:309)
>
> There is these a long list of at jnr.posix ... and org.posix.... etc ,
> which I have not copied.
> (BTW -- is there a way to copy the text from the error display of the Fiji
> script editor?)
>
> I also tried
>
> outDir = inputDir + "zPlots/"
>
> with the same problem.
>
> I tried also to use try and except on this.
> except AbstractMethodError seems to catch this.
> I suppose I could catch any failure and assume that the directory exists,
> but this does not seem the correct
> way to do this.
>
> Thanks in advance for any assistance on this.
> --aryeh
>



Aryeh,

you are using jython 2.7, which still in beta. The jython developers would
appreciate a minimal script to reproduce the problem in a bug report, here:

https://wiki.python.org/jython/ReportingBugs

Albert

--
http://albert.rierol.net
http://www.ini.uzh.ch/~acardona/

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html