使用参数中的变量运行Python脚本
我有一个python命令,它的运行方式如下:使用参数中的变量运行Python脚本,python,linux,python-2.7,shell,Python,Linux,Python 2.7,Shell,我有一个python命令,它的运行方式如下: python script.py -file 1000G_EUR_Phase3_plink/1000G.NUMBER --out GTEx_Cortex.chrNUMBER 我想用数字1:20替换NUMBER变量。因此,如果我用1替换NUMBER,它将如下所示: python script.py -file 1000G_EUR_Phase3_plink/1000G.1 --out GTEx_Cortex.chr1 在第二次迭代中(如果我将其替换为
python script.py -file 1000G_EUR_Phase3_plink/1000G.NUMBER --out GTEx_Cortex.chrNUMBER
我想用数字1:20替换NUMBER
变量。因此,如果我用1
替换NUMBER
,它将如下所示:
python script.py -file 1000G_EUR_Phase3_plink/1000G.1 --out GTEx_Cortex.chr1
在第二次迭代中(如果我将其替换为2):
但我不想一直手动更改号码20次。我想把整个过程自动化
如何在命令提示符下执行此操作?这应该在VIM中完成,还是在python中有其他方法
谢谢 如果您经常这样做,还可以编写bash脚本
for i in `seq 1 20`;do python script.py -file 1000G_EUR_Phase3_plink/1000G.${i} --annot GTEx_Cortex_chr1.annot.gz --out GTEx_Cortex.chr${i};done
创建一个文件run\u stuff
,循环执行命令。它可以与此类似:
#!/bin/bash
n=$1
i=1
while (( i <= n )); do
python prog${i}.py
(( i = i + 1 ))
done
chmod
命令只是更改文件的权限,以便您可以执行它。如果您经常这样做,还可以编写bash脚本
创建一个文件run\u stuff
,循环执行命令。它可以与此类似:
#!/bin/bash
n=$1
i=1
while (( i <= n )); do
python prog${i}.py
(( i = i + 1 ))
done
chmod
命令只是更改文件的权限,以便您可以执行它。1000G\u EUR\u Phase3\u plink/1000G.${i}
1000G\u EUR\u Phase3\u plink/1000G.${i}
愚蠢的问题,例如,prog1.py中有什么?这会是我在问题中提到的命令吗?不,这个想法只是展示如何使用迭代的参数调用命令。用pythonscript.py-file 1000G_EUR_Phase3_plink/1000G.${i}--annot GTEx_Cortex_chr1.annot.gz--out GTEx_Cortex.chr${i}
替换行python prog${i}.py.py
part,因为任何使用python的人都可以很容易地复制它(包括我,这样我才能确保它工作:)。愚蠢的问题,例如prog1.py中有什么?这会是我在问题中提到的命令吗?不,这个想法只是展示如何使用迭代的参数调用命令。用pythonscript.py-file 1000G_EUR_Phase3_plink/1000G.${i}--annot GTEx_Cortex_chr1.annot.gz--out GTEx_Cortex.chr${i}
替换行python prog${i}.py.py
part,因为任何使用python的人都可以很容易地复制它(包括我,所以我可以确保它工作:)。
chmod u+x run_stuff
./run_stuff 20