There are a few doubts that I may want to clarify as of now. Thanks a lot 
for the link @Yichao, @Josef.

1. The function definition in python is def main(argv). I wrote function 
main(args) in the Julia equivalent. Is this the right way to do it?

2. For the line in Python args = parser.parse_args(), the Jullia equivalent 
is args = parse_args(s) and correct me if I am wrong. This function is 
mapping the command line arguments to a dictionary with keys  

3. This is the most confusing part for me. I really don't get the Julia 
equivalent of these two lines. if __name__ == "__main__":
  main(sys.argv[1:])

Could you please clarify my questions? 


On Thursday, 27 October 2016 15:05:57 UTC+2, Yichao Yu wrote:
>
> On Thu, Oct 27, 2016 at 8:48 AM,  <varu...@gmail.com <javascript:>> 
> wrote: 
> > Hi Josef, 
> > 
> > I shall paste a function that I used for my python files. Would it be 
> okay 
> > if I asked you for some help to do the same in Julia? I've implemented 
> most 
> > of the code but this still remains to be done in Julia and I wasn't 
> aware 
> > such a package exists. Thanks a lot 
> > 
>
> https://github.com/carlobaldassi/ArgParse.jl 
>
> > def main(argv): 
> > 
> >     parser = argparse.ArgumentParser(description='optimization') 
> > 
> >     parser.add_argument( '-i', '--info', 
> >                      action='store_true', 
> >                            dest='infoFlag', 
> >                            default=False, 
> >                            required=False, 
> >                            help='show transformation information' ) 
> > 
> >     parser.add_argument( '-o', '--output', 
> >                             action='store', 
> >                             dest='output', 
> >                             default="solution", 
> >                             help='output file name' ) 
> > 
> >     parser.add_argument( '-l', '--logPath', 
> >                             action='store', 
> >                             dest='logPath', 
> >                             default="", 
> >                             help='path where logfiles should be written' 
> ) 
> > 
> >     parser.add_argument( '-p', '--singlePath', 
> >                              action='store_true', 
> >                            dest='singlePath', 
> >                            default=False, 
> >                            required=False, 
> >                            help='unplittable flow problem flag' ) 
> > 
> >     parser.add_argument( '--lp', 
> >                              action='store_true', 
> >                            dest='lp', 
> >                            default=False, 
> >                            required=False, 
> >                            help='flag for writing a lp file to 
> > <outputfile>.lp' ) 
> > 
> >     parser.add_argument(  '--xml', 
> >                              action='store', 
> >                            dest='xmlInstance', 
> >                            metavar='xmlInstanceFilename', 
> >                            default=None, 
> >                            required=True, 
> >                            help='name of the xml instance file' ) 
> > 
> >     parser.add_argument(  '--nRC', 
> >                              action='store_true', 
> >                            dest='noRoutingCosts', 
> >                            default=False, 
> >                            required=False, 
> >                            help='flag for disabeling link mapping costs' 
> ) 
> > 
> >     parser.add_argument(  '--uEC', 
> >                              action='store_true', 
> >                            dest='unitEdgeCosts', 
> >                            default=False, 
> >                            required=False, 
> >                            help='flag for unit edge costs' ) 
> > 
> >     global args 
> >     args = parser.parse_args() 
> > 
> >     global logFile 
> > 
> >     if not args.xmlInstance: 
> >         print "No instance file" 
> >         return 
> > 
> >     start = rtime.localtime() 
> >     start = str(start[:6])[1:-1].replace(", ", "-") 
> > 
> >     phy_network, demands = readXML(args.xmlInstance) 
> >     logFile = open( args.logPath + "{}-{}.log".format( 
> > args.xmlInstance.split("/")[-1], start ), "w" ) 
> > 
> >     printLog("Start Time: {}".format( start )) 
> > 
> >     solveProblem( phy_network, demands, args.output) 
> > 
> >     end = rtime.localtime() 
> >     printLog( "Log file closed at {}".format( 
> str(end[:6])[1:-1].replace(", 
> > ", "-") ) ) 
> > 
> >     logFile.close() 
> > if __name__ == "__main__": 
> >   main(sys.argv[1:]) 
> > 
> > 
> > 
> > 
> > On Thursday, 27 October 2016 14:30:10 UTC+2, Josef Sachs wrote: 
> >> 
> >> >>>>> On Thu, 27 Oct 2016 04:51:42 -0700 (PDT), <varu...@gmail.com> 
> said: 
> >> 
> >> > Hello, I've been using Julia for a month probably and I would now 
> >> > like to execute a bash script containing a set of commands to run 
> >> > the same file for different arguments. 
> >> 
> >> Within Julia, you can inspect the global constant ARGS. 
> >> See http://docs.julialang.org/en/release-0.5/manual/getting-started/ 
> >> 
> >> For something more sophisticated, see 
> >> https://github.com/carlobaldassi/ArgParse.jl 
>

Reply via email to