File Path/Global name issue

R

roy.snuffles

I am currently running code for a program called HotNet (https://github.com/raphael-group/hotnet)

In its simpleRun.py file, there is a place to insert a file path to be run.

parser.add_argument('-mf', '--infmat_file', required=True,
help='Path to .mat file containing influence matrix')

My path file is /home/lai/Downloads/influence_matrix_files/hprd_inf_.mat

And I have tried to add it in as such:

Input:

parser.add_argument('-mf', '--infmat_file', required=True,
help= /home/lai/Downloads/influence_matrix_file/hprd_inf_.mat)

Output:

File "simpleRun.py", line 29
help= ~/home/lai/Downloads/influence_matrix_files/hprd_inf_.mat)
^
SyntaxError: invalid syntax

I have also tried to place the path in ' ' but that isn't processed.

I have tried removing the / however that just returns the following error:

NameError: global name 'home' is not defined


Completely new at this, so thank you for bearing with me and for the help!
 
S

Skip Montanaro

File "simpleRun.py", line 29
help= ~/home/lai/Downloads/influence_matrix_files/hprd_inf_.mat)
^
SyntaxError: invalid syntax

You need quotes around the filename. It's a string literal.

Skip
 
R

roy.snuffles

Hi Skip!
Thank you so much for the response. When I put quotes around the file name I receive this output.

simpleRun.py: error: argument -mf/--infmat_file is required
 
S

Skip Montanaro

simpleRun.py: error: argument -mf/--infmat_file is required

I think you are misinterpreting the actual purpose of the
parser_add_argument() call. It's telling you that *on the command
line* you can specify it using either

-mf some-file-name

or

--infmat_file=some-file-name

It also tells you that it is a required argument.

I don't believe you are supposed to have to modify the source to run
the program. I'd set the argument to the "help=..." parameter back to
however it was set when you got it and try either of the above command
line args.

Skip
 
P

Peter Otten

I am currently running code for a program called HotNet
(https://github.com/raphael-group/hotnet)

In its simpleRun.py file, there is a place to insert a file path to be
run.

parser.add_argument('-mf', '--infmat_file', required=True,
help='Path to .mat file containing influence
matrix')

My path file is /home/lai/Downloads/influence_matrix_files/hprd_inf_.mat

And I have tried to add it in as such:

Input:

parser.add_argument('-mf', '--infmat_file', required=True,
help=
/home/lai/Downloads/influence_matrix_file/hprd_inf_.mat)

Output:

File "simpleRun.py", line 29
help= ~/home/lai/Downloads/influence_matrix_files/hprd_inf_.mat)
^
SyntaxError: invalid syntax

I have also tried to place the path in ' ' but that isn't processed.

I have tried removing the / however that just returns the following error:

NameError: global name 'home' is not defined


Completely new at this, so thank you for bearing with me and for the help!

Reread the documentation, you are misunderstanding it. You don't have to
modify the simpleRun.py script, you should invoke it from the commandline
with the file as one of its arguments:

$ python simpleRun.py --infmat_file /home/lai/Downloads/influence_matrix_files/hprd_inf_.mat

As there are more required arguments you will end up with a very long
command line. But there is an alternative. Create a config file like the
following

https://github.com/raphael-group/hotnet/blob/master/example/configs/simple.config

where you replace all the file names with those of your actual files and
then invoke simpleRun.py with

$ python simpleRun.py @roy_snuffles.config
 
J

John Gordon

In said:
I am currently running code for a program called HotNet (https://github.com/raphael-group/hotnet)
In its simpleRun.py file, there is a place to insert a file path to be run.
parser.add_argument('-mf', '--infmat_file', required=True,
help='Path to .mat file containing influence matrix')
My path file is /home/lai/Downloads/influence_matrix_files/hprd_inf_.mat

You're completely misunderstanding the purpose of this line of code. Its
intent is to allow you to pass the matrix file location to the script by
using the '-mf' or '--infmat_file' arguments, thus not requiring you to
edit the script at all.

The 'help' parameter provides a message explaining the usage of that
particular argument if the simpleRun.py script is executed with the '-help'
option.

For example, if you were unsure how to use the simpleRun.py script, you
might run this command:

simpleRun.py -help

And you might see output that looks like this:

Usage: simpleRun.py [options]

Options:
-h, --help show this help message and exit
-mf, --infmat_file Path to .mat file containing influence matrix
-d, --dance do a little dance
-l, --love make a little love

The help message thus informs you that you can provide the location to an
influence matrix file by using the '-mf' or '--infmat_file' arguments.
There are also -d and -l options that do ... something.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top