sys.argv
- список аргументов, первый элемент которого является именем скрипта.Это список строк, поэтому, если какой-либо из параметров является числом, вам нужно будет преобразовать их, используя int()
или float()
.
Итак, если вы вызвали такой скрипт, как:
$ python myscript.py 1 foo bar baz
sys.argv
будет таким:
["myscript.py", "1", "foo", "bar", "baz"]
В вашем случае вы можете сделать свой сценарий следующим образом:
import sys
import csv
def SJtag(file,len_tag):
reader = csv.reader(open(file), dialect='excel-tab' )
for row in reader:
qstarts = row[1].split(",")[1:-1]
n = len_tag/2
for i 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]))