running an existing script

Discussion in 'Python' started by Adam Chapman, Jun 21, 2011.

  1. Adam Chapman

    Adam Chapman Guest

    Hi,

    I'm trying to put together a lot of pieces of source code in matlab,
    java, perl and python.

    Im an expert when it comes to matlab, but novice in all the others
    listed above. However, I have integrated the java and perl code so
    they can be called from matlab.

    I know that there is a toolbox out there called Pymat but i think that
    uses 32bit activex so rules my configuration out.

    However I think I can hack in to the python command prompt from
    matlab.

    Basically I just want to run a single script from the python command
    window. Once I know how to do that I can be off on my way to perform
    the matlab interfacing.

    there is an example of the command I need in the python prompt at
    http://jboost.sourceforge.net/doc.html#cv .

    however, I can't seem to run the python script by typing the command
    on that link in the python prompt.

    Can I please ask how to set the current duirectory in python?

    the script I want to run is in a different directory to the one python
    is installed to
    Adam Chapman, Jun 21, 2011
    #1
    1. Advertising

  2. On Tue, Jun 21, 2011 at 10:45 AM, Adam Chapman
    <> wrote:
    > Hi,
    >
    > I'm trying to put together a lot of pieces of source code in matlab,
    > java, perl and python.
    >
    > Im an expert when it comes to matlab, but novice in all the others
    > listed above. However, I have integrated the java and perl code so
    > they can be called from matlab.
    >
    > I know that there is a toolbox out there called Pymat but i think that
    > uses 32bit activex so rules my configuration out.
    >
    > However I think I can hack in to the python command prompt from
    > matlab.
    >
    > Basically I just want to run a single script from the python command
    > window. Once I know how to do that I can be off on my way to perform
    > the matlab interfacing.
    >
    > there is an example of the command I need in the python prompt at
    > http://jboost.sourceforge.net/doc.html#cv .
    >
    > however, I can't seem to run the python script by typing the command
    > on that link in the python prompt.
    >


    That command they show isn't run from a Python shell. It's run from
    either a Unix shell (bash and friends) or a Windows command prompt
    (cmd). If you want to run a script, you have to give the path to that
    script. ./ means the current directory and .. is the parent directory
    if you want to give relative paths, or you can just write out the
    whole file path.

    > Can I please ask how to set the current duirectory in python?
    >


    os.chdir changes the current directory, but you probably don't need to do that.

    > the script I want to run is in a different directory to the one python
    > is installed to
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    >
    Benjamin Kaplan, Jun 21, 2011
    #2
    1. Advertising

  3. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > Hi,


    Howdy!

    > I'm trying to put together a lot of pieces of source code in matlab,
    > java, perl and python.


    [snippety]

    > Basically I just want to run a single script from the python command
    > window. Once I know how to do that I can be off on my way to perform
    > the matlab interfacing.
    >
    > there is an example of the command I need in the python prompt at
    > http://jboost.sourceforge.net/doc.html#cv .


    That looks like a shell prompt, not a Python prompt

    > however, I can't seem to run the python script by typing the command
    > on that link in the python prompt.
    >
    > Can I please ask how to set the current duirectory in python?


    nfold.py is a python script -- you can't just type in the name once
    inside python and have it work. It would require something like

    --> import os
    --> os.chdir('path/to/nfold.py') # don't include nfold.py ;)
    --> import nfold
    --> import sys
    --> sys.argv = ["--folds=5", "--data=spambase.data",
    .... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    .... "--generate" ]
    ....
    --> nfold.main() # assuming it has a main function that can be called
    # in this manner

    and that probably won't work. What you probably want to do is execute
    the command "python /path/to/nfold.py --fold=5 ..." (include the
    nfold.py this time ). I have no idea how to do that from Matlab.

    Good luck!

    ~Ethan~
    Ethan Furman, Jun 21, 2011
    #3
  4. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > Thanks Ethan
    >
    > No way could I have worked that out in my state of stress!
    >
    > For your second idea, would I need to type that into the python command
    > line interface (the one that looks like a DOS window?


    If you are actually in a python CLI, at the top of that screen does it
    say something like

    Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    ?

    If yes, then what I wrote earlier should actually work (I downloaded
    jBoost and looked at the nfold.py script). Here it is again:

    --> import os
    --> os.chdir('path/to/nfold.py') # don't include nfold.py ;)
    --> import nfold
    --> import sys
    --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    .... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    .... "--generate" ]
    ....
    --> nfold.main()

    I fixed the sys.argv line from last time.

    Good luck!

    ~Ethan~
    Ethan Furman, Jun 21, 2011
    #4
  5. Adam Chapman

    Adam Chapman Guest

    On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    > Adam Chapman wrote:
    > > Thanks Ethan

    >
    > > No way could I have worked that out in my state of stress!

    >
    > > For your second idea, would I need to type that into the python command
    > > line interface (the one that looks like a DOS window?

    >
    > If you are actually in a python CLI, at the top of that screen does it
    > say something like
    >
    > Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > (Intel)] on win32
    > Type "help", "copyright", "credits" or "license" for more information.
    >
    > ?
    >
    > If yes, then what I wrote earlier should actually work (I downloaded
    > jBoost and looked at the nfold.py script).  Here it is again:
    >
    > --> import os
    > --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > --> import nfold
    > --> import sys
    > --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > ... "--generate" ]
    > ...
    > --> nfold.main()
    >
    > I fixed the sys.argv line from last time.
    >
    > Good luck!
    >
    > ~Ethan~


    Thanks to both of you for your help.

    It's getting late here, I'll give it another try tomorrow
    Adam Chapman, Jun 21, 2011
    #5
  6. Adam Chapman

    Adam Chapman Guest

    On Jun 21, 9:12 pm, Adam Chapman <>
    wrote:
    > On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > > Adam Chapman wrote:
    > > > Thanks Ethan

    >
    > > > No way could I have worked that out in my state of stress!

    >
    > > > For your second idea, would I need to type that into the python command
    > > > line interface (the one that looks like a DOS window?

    >
    > > If you are actually in a python CLI, at the top of that screen does it
    > > say something like

    >
    > > Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > > (Intel)] on win32
    > > Type "help", "copyright", "credits" or "license" for more information.

    >
    > > ?

    >
    > > If yes, then what I wrote earlier should actually work (I downloaded
    > > jBoost and looked at the nfold.py script).  Here it is again:

    >
    > > --> import os
    > > --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > > --> import nfold
    > > --> import sys
    > > --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > > ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > > ... "--generate" ]
    > > ...
    > > --> nfold.main()

    >
    > > I fixed the sys.argv line from last time.

    >
    > > Good luck!

    >
    > > ~Ethan~

    >
    > Thanks to both of you for your help.
    >
    > It's getting late here, I'll give it another try tomorrow


    I've added the python directories to the environment variable "path"
    in my computer (http://showmedo.com/videotutorials/video?
    name=960000&fromSeriesID=96), which means I can now call python from
    the windows DOS-style command prompt.

    My formatting must be wrong when calling the nfold.py script to run.
    My connad prompt call and the computer's response look like this:

    C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    nfold.py
    File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    \nfold.py", line 13
    print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    tree=treetype]'

    ^
    SyntaxError: invalid syntax


    What I dont understand is that some of the parameters in the syntax it
    printed back are in <> brackets, and others in [] brackets.

    I assume this is something a regular python user could notice straight
    away.

    Please let me know, I'd be very grateful
    Adam Chapman, Jun 22, 2011
    #6
  7. Adam Chapman

    Chris Rebert Guest

    On Wed, Jun 22, 2011 at 8:54 AM, Adam Chapman
    <> wrote:
    <snip>
    > I've added the python directories to the environment variable "path"
    > in my computer (http://showmedo.com/videotutorials/video?
    > name=960000&fromSeriesID=96), which means I can now call python from
    > the windows DOS-style command prompt.
    >
    > My formatting must be wrong when calling the nfold.py script to run.


    No, it's a syntax error in the script itself, at least under the
    version of Python you're using.

    > My connad prompt call and the computer's response look like this:
    >
    > C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > nfold.py
    >  File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > \nfold.py", line 13
    >    print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    > generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > tree=treetype]'
    >
    > ^
    > SyntaxError: invalid syntax


    You're probably running Python 3.x, which changed `print` from a
    keyword to just a regular function; hence, `print foo` is illegal, and
    one must write `print(foo)` instead.
    Based on this, I'd say that nfold.py was written for Python 2.x rather
    than Python 3.x; so you'll either need to port it to Python 3.x, or
    install Python 2.x and run it under that.

    Cheers,
    Chris
    --
    http://rebertia.com
    Chris Rebert, Jun 22, 2011
    #7
  8. Adam Chapman

    Adam Chapman Guest

    On Jun 22, 4:54 pm, Adam Chapman <>
    wrote:
    > On Jun 21, 9:12 pm, Adam Chapman <>
    > wrote:
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > > On Jun 21, 8:00 pm, Ethan Furman <> wrote:

    >
    > > > Adam Chapman wrote:
    > > > > Thanks Ethan

    >
    > > > > No way could I have worked that out in my state of stress!

    >
    > > > > For your second idea, would I need to type that into the python command
    > > > > line interface (the one that looks like a DOS window?

    >
    > > > If you are actually in a python CLI, at the top of that screen does it
    > > > say something like

    >
    > > > Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > > > (Intel)] on win32
    > > > Type "help", "copyright", "credits" or "license" for more information..

    >
    > > > ?

    >
    > > > If yes, then what I wrote earlier should actually work (I downloaded
    > > > jBoost and looked at the nfold.py script).  Here it is again:

    >
    > > > --> import os
    > > > --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > > > --> import nfold
    > > > --> import sys
    > > > --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > > > ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > > > ... "--generate" ]
    > > > ...
    > > > --> nfold.main()

    >
    > > > I fixed the sys.argv line from last time.

    >
    > > > Good luck!

    >
    > > > ~Ethan~

    >
    > > Thanks to both of you for your help.

    >
    > > It's getting late here, I'll give it another try tomorrow

    >
    > I've added the python directories to the environment variable "path"
    > in my computer (http://showmedo.com/videotutorials/video?
    > name=960000&fromSeriesID=96), which means I can now call python from
    > the windows DOS-style command prompt.
    >
    > My formatting must be wrong when calling the nfold.py script to run.
    > My connad prompt call and the computer's response look like this:
    >
    > C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > nfold.py
    >   File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > \nfold.py", line 13
    >     print 'Usage: nfold.py <--booster=boosttype> <--folds=number>[--
    > generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > tree=treetype]'
    >
    > ^
    > SyntaxError: invalid syntax
    >
    > What I dont understand is that some of the parameters in the syntax it
    > printed back are in <> brackets, and others in [] brackets.
    >
    > I assume this is something a regular python user could notice straight
    > away.
    >
    > Please let me know, I'd be very grateful


    I just tried

    nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate --dir=C:
    \Users\Adam\Desktop\cvdata

    in the dos-style command prompt. It didn'g vive a syntax error this
    time, it just repeated my command back to me in text. I assume I
    called code correctly, but it didn't make a new folder full of data
    like it should have.
    Adam Chapman, Jun 22, 2011
    #8
  9. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > On Jun 21, 9:12 pm, Adam Chapman <>
    > wrote:
    >> On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>> Adam Chapman wrote:
    >>>> Thanks Ethan
    >>>> No way could I have worked that out in my state of stress!
    >>>> For your second idea, would I need to type that into the python command
    >>>> line interface (the one that looks like a DOS window?
    >>> If you are actually in a python CLI, at the top of that screen does it
    >>> say something like
    >>> Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    >>> (Intel)] on win32
    >>> Type "help", "copyright", "credits" or "license" for more information.
    >>> ?
    >>> If yes, then what I wrote earlier should actually work (I downloaded
    >>> jBoost and looked at the nfold.py script). Here it is again:
    >>> --> import os
    >>> --> os.chdir('path/to/nfold.py') # don't include nfold.py ;)
    >>> --> import nfold
    >>> --> import sys
    >>> --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    >>> ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    >>> ... "--generate" ]
    >>> ...
    >>> --> nfold.main()
    >>> I fixed the sys.argv line from last time.
    >>> Good luck!
    >>> ~Ethan~

    >> Thanks to both of you for your help.
    >>
    >> It's getting late here, I'll give it another try tomorrow

    >
    > I've added the python directories to the environment variable "path"
    > in my computer (http://showmedo.com/videotutorials/video?
    > name=960000&fromSeriesID=96), which means I can now call python from
    > the windows DOS-style command prompt.
    >
    > My formatting must be wrong when calling the nfold.py script to run.
    > My connad prompt call and the computer's response look like this:
    >
    > C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > nfold.py
    > File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > \nfold.py", line 13
    > print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    > generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > tree=treetype]'
    >
    > ^
    > SyntaxError: invalid syntax


    Looks like you are using Python 3, but nfold is Python 2. You're being
    tripped up by one of the non-compatible changes -- namely, print is now
    a function and so requires ().


    > What I dont understand is that some of the parameters in the syntax it
    > printed back are in <> brackets, and others in [] brackets.


    Looking at nfold.py it seems that rounds and tree are optional, one of
    generate or dir is required, if dir is not given then data and spec must
    be, and booster and folds are required -- so I'm not really sure why
    they chose the mixture of <> and [].


    Also, on the version of jBoost I downloaded there is at least one error
    on nfolds.py on line 134 -- it should be indented one more level.

    Hope this helps.

    ~Ethan~
    Ethan Furman, Jun 22, 2011
    #9
  10. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > On Jun 22, 4:54 pm, Adam Chapman <>
    > wrote:
    >> On Jun 21, 9:12 pm, Adam Chapman <>
    >> wrote:
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>> On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    >>>> Adam Chapman wrote:
    >>>>> Thanks Ethan
    >>>>> No way could I have worked that out in my state of stress!
    >>>>> For your second idea, would I need to type that into the python command
    >>>>> line interface (the one that looks like a DOS window?
    >>>> If you are actually in a python CLI, at the top of that screen does it
    >>>> say something like
    >>>> Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    >>>> (Intel)] on win32
    >>>> Type "help", "copyright", "credits" or "license" for more information.
    >>>> ?
    >>>> If yes, then what I wrote earlier should actually work (I downloaded
    >>>> jBoost and looked at the nfold.py script). Here it is again:
    >>>> --> import os
    >>>> --> os.chdir('path/to/nfold.py') # don't include nfold.py ;)
    >>>> --> import nfold
    >>>> --> import sys
    >>>> --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    >>>> ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    >>>> ... "--generate" ]
    >>>> ...
    >>>> --> nfold.main()
    >>>> I fixed the sys.argv line from last time.
    >>>> Good luck!
    >>>> ~Ethan~
    >>> Thanks to both of you for your help.
    >>> It's getting late here, I'll give it another try tomorrow

    >> I've added the python directories to the environment variable "path"
    >> in my computer (http://showmedo.com/videotutorials/video?
    >> name=960000&fromSeriesID=96), which means I can now call python from
    >> the windows DOS-style command prompt.
    >>
    >> My formatting must be wrong when calling the nfold.py script to run.
    >> My connad prompt call and the computer's response look like this:
    >>
    >> C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    >> nfold.py
    >> File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    >> \nfold.py", line 13
    >> print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    >> generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    >> tree=treetype]'
    >>
    >> ^
    >> SyntaxError: invalid syntax
    >>
    >> What I dont understand is that some of the parameters in the syntax it
    >> printed back are in <> brackets, and others in [] brackets.
    >>
    >> I assume this is something a regular python user could notice straight
    >> away.
    >>
    >> Please let me know, I'd be very grateful

    >
    > I just tried
    >
    > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate --dir=C:
    > \Users\Adam\Desktop\cvdata
    >
    > in the dos-style command prompt. It didn'g vive a syntax error this
    > time, it just repeated my command back to me in text. I assume I
    > called code correctly, but it didn't make a new folder full of data
    > like it should have.
    >


    Which version of jBoost, and which version of Python?

    ~Ethan~
    Ethan Furman, Jun 22, 2011
    #10
  11. Adam Chapman

    Adam Chapman Guest

    On Jun 22, 5:51 pm, Ethan Furman <> wrote:
    > Adam Chapman wrote:
    > > On Jun 22, 4:54 pm, Adam Chapman <>
    > > wrote:
    > >> On Jun 21, 9:12 pm, Adam Chapman <>
    > >> wrote:

    >
    > >>> On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    > >>>> Adam Chapman wrote:
    > >>>>> Thanks Ethan
    > >>>>> No way could I have worked that out in my state of stress!
    > >>>>> For your second idea, would I need to type that into the python command
    > >>>>> line interface (the one that looks like a DOS window?
    > >>>> If you are actually in a python CLI, at the top of that screen does it
    > >>>> say something like
    > >>>> Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > >>>> (Intel)] on win32
    > >>>> Type "help", "copyright", "credits" or "license" for more information.
    > >>>> ?
    > >>>> If yes, then what I wrote earlier should actually work (I downloaded
    > >>>> jBoost and looked at the nfold.py script).  Here it is again:
    > >>>> --> import os
    > >>>> --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > >>>> --> import nfold
    > >>>> --> import sys
    > >>>> --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > >>>> ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > >>>> ... "--generate" ]
    > >>>> ...
    > >>>> --> nfold.main()
    > >>>> I fixed the sys.argv line from last time.
    > >>>> Good luck!
    > >>>> ~Ethan~
    > >>> Thanks to both of you for your help.
    > >>> It's getting late here, I'll give it another try tomorrow
    > >> I've added the python directories to the environment variable "path"
    > >> in my computer (http://showmedo.com/videotutorials/video?
    > >> name=960000&fromSeriesID=96), which means I can now call python from
    > >> the windows DOS-style command prompt.

    >
    > >> My formatting must be wrong when calling the nfold.py script to run.
    > >> My connad prompt call and the computer's response look like this:

    >
    > >> C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > >> nfold.py
    > >>   File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > >> \nfold.py", line 13
    > >>     print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    > >> generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > >> tree=treetype]'

    >
    > >> ^
    > >> SyntaxError: invalid syntax

    >
    > >> What I dont understand is that some of the parameters in the syntax it
    > >> printed back are in <> brackets, and others in [] brackets.

    >
    > >> I assume this is something a regular python user could notice straight
    > >> away.

    >
    > >> Please let me know, I'd be very grateful

    >
    > > I just tried

    >
    > > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate --dir=C:
    > > \Users\Adam\Desktop\cvdata

    >
    > > in the dos-style command prompt. It didn'g vive a syntax error this
    > > time, it just repeated my command back to me in text. I assume I
    > > called code correctly, but it didn't make a new folder full of data
    > > like it should have.

    >
    > Which version of jBoost, and which version of Python?
    >
    > ~Ethan~


    jboost 2.2, python 2.7

    somehow I've just managed to delete all of the code in nfold.py, now
    downloading it again...
    Adam Chapman, Jun 22, 2011
    #11
  12. Adam Chapman

    Adam Chapman Guest

    On Jun 22, 5:51 pm, Adam Chapman <>
    wrote:
    > On Jun 22, 5:51 pm, Ethan Furman <> wrote:
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > > Adam Chapman wrote:
    > > > On Jun 22, 4:54 pm, Adam Chapman <>
    > > > wrote:
    > > >> On Jun 21, 9:12 pm, Adam Chapman <>
    > > >> wrote:

    >
    > > >>> On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    > > >>>> Adam Chapman wrote:
    > > >>>>> Thanks Ethan
    > > >>>>> No way could I have worked that out in my state of stress!
    > > >>>>> For your second idea, would I need to type that into the python command
    > > >>>>> line interface (the one that looks like a DOS window?
    > > >>>> If you are actually in a python CLI, at the top of that screen does it
    > > >>>> say something like
    > > >>>> Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > > >>>> (Intel)] on win32
    > > >>>> Type "help", "copyright", "credits" or "license" for more information.
    > > >>>> ?
    > > >>>> If yes, then what I wrote earlier should actually work (I downloaded
    > > >>>> jBoost and looked at the nfold.py script).  Here it is again:
    > > >>>> --> import os
    > > >>>> --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > > >>>> --> import nfold
    > > >>>> --> import sys
    > > >>>> --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > > >>>> ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > > >>>> ... "--generate" ]
    > > >>>> ...
    > > >>>> --> nfold.main()
    > > >>>> I fixed the sys.argv line from last time.
    > > >>>> Good luck!
    > > >>>> ~Ethan~
    > > >>> Thanks to both of you for your help.
    > > >>> It's getting late here, I'll give it another try tomorrow
    > > >> I've added the python directories to the environment variable "path"
    > > >> in my computer (http://showmedo.com/videotutorials/video?
    > > >> name=960000&fromSeriesID=96), which means I can now call python from
    > > >> the windows DOS-style command prompt.

    >
    > > >> My formatting must be wrong when calling the nfold.py script to run.
    > > >> My connad prompt call and the computer's response look like this:

    >
    > > >> C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > > >> nfold.py
    > > >>   File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > > >> \nfold.py", line 13
    > > >>     print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    > > >> generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > > >> tree=treetype]'

    >
    > > >> ^
    > > >> SyntaxError: invalid syntax

    >
    > > >> What I dont understand is that some of the parameters in the syntax it
    > > >> printed back are in <> brackets, and others in [] brackets.

    >
    > > >> I assume this is something a regular python user could notice straight
    > > >> away.

    >
    > > >> Please let me know, I'd be very grateful

    >
    > > > I just tried

    >
    > > > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > > > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate --dir=C:
    > > > \Users\Adam\Desktop\cvdata

    >
    > > > in the dos-style command prompt. It didn'g vive a syntax error this
    > > > time, it just repeated my command back to me in text. I assume I
    > > > called code correctly, but it didn't make a new folder full of data
    > > > like it should have.

    >
    > > Which version of jBoost, and which version of Python?

    >
    > > ~Ethan~

    >
    > jboost 2.2, python 2.7
    >
    > somehow I've just managed to delete all of the code in nfold.py, now
    > downloading it again...


    Thanks a lot, must be getting close now...
    I changed the indentation one lines 136-168, and put in the command
    window:

    nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate

    no syntax errors this time, it just said:
    nfold.py: Your CLASSPATH is not set. You must place jboost.jar in your
    CLASSPATH.

    is that the chdir() command in python? and can I somehow set that in
    the dos command window?
    Adam Chapman, Jun 22, 2011
    #12
  13. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > Thanks a lot, must be getting close now...
    > I changed the indentation one lines 136-168, and put in the command
    > window:
    >
    > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate
    >
    > no syntax errors this time, it just said:
    > nfold.py: Your CLASSPATH is not set. You must place jboost.jar in your
    > CLASSPATH.
    >
    > is that the chdir() command in python? and can I somehow set that in
    > the dos command window?


    CLASSPATH is an environment variable, jboost.jar is a java file (which
    I'm sure you know ;) -- so make sure CLASSPATH is set appropriately for
    your system (e.g. 'set CLASSPATH=c:\java\source'), and jboost.jar is
    whereever CLASSPATH points to. (I'm not a Java fan, so can't provide
    much help in this area.)

    ~Ethan~
    Ethan Furman, Jun 22, 2011
    #13
  14. Adam Chapman

    Adam Chapman Guest

    On Jun 22, 6:13 pm, Adam Chapman <>
    wrote:
    > On Jun 22, 5:51 pm, Adam Chapman <>
    > wrote:
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > > On Jun 22, 5:51 pm, Ethan Furman <> wrote:

    >
    > > > Adam Chapman wrote:
    > > > > On Jun 22, 4:54 pm, Adam Chapman <>
    > > > > wrote:
    > > > >> On Jun 21, 9:12 pm, Adam Chapman <>
    > > > >> wrote:

    >
    > > > >>> On Jun 21, 8:00 pm, Ethan Furman <> wrote:
    > > > >>>> Adam Chapman wrote:
    > > > >>>>> Thanks Ethan
    > > > >>>>> No way could I have worked that out in my state of stress!
    > > > >>>>> For your second idea, would I need to type that into the pythoncommand
    > > > >>>>> line interface (the one that looks like a DOS window?
    > > > >>>> If you are actually in a python CLI, at the top of that screen does it
    > > > >>>> say something like
    > > > >>>> Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
    > > > >>>> (Intel)] on win32
    > > > >>>> Type "help", "copyright", "credits" or "license" for more information.
    > > > >>>> ?
    > > > >>>> If yes, then what I wrote earlier should actually work (I downloaded
    > > > >>>> jBoost and looked at the nfold.py script).  Here it is again:
    > > > >>>> --> import os
    > > > >>>> --> os.chdir('path/to/nfold.py') # don't include nfold.py  ;)
    > > > >>>> --> import nfold
    > > > >>>> --> import sys
    > > > >>>> --> sys.argv = ["nfold.py", "--folds=5", "--data=spambase.data",
    > > > >>>> ... "--spec=spambase.spec", "--rounds=500", "--tree=ADD_ALL",
    > > > >>>> ... "--generate" ]
    > > > >>>> ...
    > > > >>>> --> nfold.main()
    > > > >>>> I fixed the sys.argv line from last time.
    > > > >>>> Good luck!
    > > > >>>> ~Ethan~
    > > > >>> Thanks to both of you for your help.
    > > > >>> It's getting late here, I'll give it another try tomorrow
    > > > >> I've added the python directories to the environment variable "path"
    > > > >> in my computer (http://showmedo.com/videotutorials/video?
    > > > >> name=960000&fromSeriesID=96), which means I can now call python from
    > > > >> the windows DOS-style command prompt.

    >
    > > > >> My formatting must be wrong when calling the nfold.py script to run.
    > > > >> My connad prompt call and the computer's response look like this:

    >
    > > > >> C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py
    > > > >> nfold.py
    > > > >>   File "C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts
    > > > >> \nfold.py", line 13
    > > > >>     print 'Usage: nfold.py <--booster=boosttype> <--folds=number> [--
    > > > >> generate | --dir=dir] [--data=file --spec=file] [--rounds=number --
    > > > >> tree=treetype]'

    >
    > > > >> ^
    > > > >> SyntaxError: invalid syntax

    >
    > > > >> What I dont understand is that some of the parameters in the syntax it
    > > > >> printed back are in <> brackets, and others in [] brackets.

    >
    > > > >> I assume this is something a regular python user could notice straight
    > > > >> away.

    >
    > > > >> Please let me know, I'd be very grateful

    >
    > > > > I just tried

    >
    > > > > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > > > > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate --dir=C:
    > > > > \Users\Adam\Desktop\cvdata

    >
    > > > > in the dos-style command prompt. It didn'g vive a syntax error this
    > > > > time, it just repeated my command back to me in text. I assume I
    > > > > called code correctly, but it didn't make a new folder full of data
    > > > > like it should have.

    >
    > > > Which version of jBoost, and which version of Python?

    >
    > > > ~Ethan~

    >
    > > jboost 2.2, python 2.7

    >
    > > somehow I've just managed to delete all of the code in nfold.py, now
    > > downloading it again...

    >
    > Thanks a lot, must be getting close now...
    > I changed the indentation one lines 136-168, and put in the command
    > window:
    >
    > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate
    >
    > no syntax errors this time, it just said:
    > nfold.py: Your CLASSPATH is not set. You must place jboost.jar in your
    > CLASSPATH.
    >
    > is that the chdir() command in python? and can I somehow set that in
    > the dos command window?


    Thanks again Ethan, It did begin to run nfold.py this time, after I
    added the environment variable "CLASSPATH" to my system. It threw back
    a java error, but I guess this isn;t the right place to be asking
    about that

    C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py --
    booster=Adaboost --folds=5 --data=spambase.data --spec=spambase.spec --
    rounds=500 --tree=ADD_ALL --generate
    nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate
    java.lang.NoClassDefFoundError: jboost/controller/Controller
    Caused by: java.lang.ClassNotFoundException:
    jboost.controller.Controller
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: jboost.controller.Controller. Program
    will exit.
    Exception in thread "main" k: 0 start:0 end:920
    k: 1 start:920 end:1840
    k: 2 start:1840 end:2760
    k: 3 start:2760 end:3680
    k: 4 start:3680 end:4600
    *=---------------------------------------------------------------------
    =-*
    * Fold 0 |
    *============
    java -Xmx1000M -cp C:\Users\Adam\\Desktop\JBOOST
    \jboost-2.2\jboost-2.2\dist jboost.controller.Controller -b Adaboost -
    p 3 -a -1 -S trial0 -n trial.spec -ATreeType ADD_ALL -numRounds 500
    Adam Chapman, Jun 22, 2011
    #14
  15. Adam Chapman

    Ethan Furman Guest

    Adam Chapman wrote:
    > Thanks again Ethan, It did begin to run nfold.py this time, after I
    > added the environment variable "CLASSPATH" to my system. It threw back
    > a java error, but I guess this isn;t the right place to be asking
    > about that
    >
    > C:\Users\Adam\Desktop\JBOOST\jboost-2.2\jboost-2.2\scripts>nfold.py --
    > booster=Adaboost --folds=5 --data=spambase.data --spec=spambase.spec --
    > rounds=500 --tree=ADD_ALL --generate
    > nfold.py --booster=Adaboost --folds=5 --data=spambase.data --
    > spec=spambase.spec --rounds=500 --tree=ADD_ALL --generate
    > java.lang.NoClassDefFoundError: jboost/controller/Controller
    > Caused by: java.lang.ClassNotFoundException:
    > jboost.controller.Controller
    > at java.net.URLClassLoader$1.run(Unknown Source)
    > at java.security.AccessController.doPrivileged(Native Method)
    > at java.net.URLClassLoader.findClass(Unknown Source)
    > at java.lang.ClassLoader.loadClass(Unknown Source)
    > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    > at java.lang.ClassLoader.loadClass(Unknown Source)
    > Could not find the main class: jboost.controller.Controller. Program
    > will exit.
    > Exception in thread "main" k: 0 start:0 end:920



    Looking at the batch file I see a line that modifies the CLASSPATH, so
    try this before you run nfold.py (cut across two lines, but it's really
    just one):
    set CLASSPATH=
    %CLASSPATH%;../dist/jboost.jar;../lib/jfreechart-1.0.10.jar;../lib/jcommon-1.0.8.jar



    Good luck!

    ~Ethan~
    Ethan Furman, Jun 22, 2011
    #15
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. nrm
    Replies:
    3
    Views:
    528
  2. Benjamin Rutt
    Replies:
    2
    Views:
    934
    Peter Hansen
    Dec 20, 2005
  3. Replies:
    0
    Views:
    188
  4. Replies:
    2
    Views:
    147
    Sean O'Halpin
    Dec 17, 2008
  5. Replies:
    4
    Views:
    183
    Josef Moellers
    Oct 27, 2007
Loading...

Share This Page