How can I give parameters to a function of a python script through the command-line? -


currently python script (taggen) has 1 function:

def sjtag(file,len_tag):      import csv     reader = csv.reader(open(file), dialect='excel-tab' )     row in reader:         qstarts = row[1].split(",")[1:-1]          n = len_tag/2         in qstarts:               name = row[0]              start = int(i)-n             if start<0:                 start = 0                    end = int(i)+n             if end>len(row[2]):                 end=len(row[2])              tag = row[2][start:end]                 print name, i, tag, len(tag)  sjtag("qstartrefseqhg19.head",80) 

i want give file , len_tag parameters of sjtag function using bash comand line, this:

python ./taggen qstartrefseqhg19.head 80 

how can this, or thing similar?

thanks help!

sys.argv arguments list, first element being script name. it's list of strings, if of parameters numbers, you'll have convert them using int() or float().

so, if called script so:

$ python myscript.py 1 foo bar baz 

sys.argv this:

["myscript.py", "1", "foo", "bar", "baz"] 

in case, make script this:

import sys import csv  def sjtag(file,len_tag):     reader = csv.reader(open(file), dialect='excel-tab' )     row in reader:         qstarts = row[1].split(",")[1:-1]          n = len_tag/2         in qstarts:               name = row[0]              start = int(i)-n             if start<0:                 start = 0                    end = int(i)+n             if end>len(row[2]):                 end=len(row[2])              tag = row[2][start:end]                 print name, i, tag, len(tag)  if __name__ == '__main__':     sjtag(sys.argv[1], int(sys.argv[2])) 

Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -