我目前正在运行一个名为热网。
在其简单运行.py文件中,有一个地方可以插入要运行的文件路径。
parser.add_argument('-mf', '--infmat_file', required=True,
help='Path to .mat file containing influence matrix')
我的路径文件是/home/lai/Downloads/influence_matrix_files/hprd_inf_.mat
;并且我尝试将其添加如下:
parser.add_argument('-mf', '--infmat_file', required=True,
help= /home/lai/Downloads/influence_matrix_file/hprd_inf_.mat)
但是SyntaxError
运行代码时我得到了:
File "simpleRun.py", line 29
help= ~/home/lai/Downloads/influence_matrix_files/hprd_inf_.mat)
^
SyntaxError: invalid syntax
我也尝试将路径放在引号中(作为字符串' '
),但没有得到处理。
我尝试删除/
但它只返回以下错误:
NameError: global name 'home' is not defined
我该如何解决?
答案1
您无需编辑 py 文件,只需调用简单运行.py使用以下论点:
python simpleRun.py -mf /home/lai/Downloads/influence_matrix_file/hprd_inf_.mat
或者
python simpleRun.py --infmat_file=/home/lai/Downloads/influence_matrix_file/hprd_inf_.mat
答案2
@cyberbills 的回答完全正确,但我想补充一些解释。
您不需要编辑 simpleRun.py 来添加您的路径 —— 它已经被定义了,并且当您从命令行实际运行 simpleRun.py 脚本时,“help”参数会为您提供帮助。
换句话说,这个help
论点并不抓住路径,但给出使用帮助使用-mf
标志。
当您将 simpleRun.py 与“mf”一起使用时,您将以 的形式运行它simpleRun.py -mf <file.mat>
。
chmod +x
(注意:如果您想通过键入来运行它,请在 simpleRun.py 上执行./simpleRun.py
。否则python ./simpleRun.py
按照 cyberbill 指示使用)。
simpleRun.py 中的所有解析器参数都以这种方式工作。help
参数中的文本字段是命令行反馈。
--help
您可以通过向命令提供标志来查看它:
$python simpleRun.py --help
usage: simpleRun.py [-h] [-r RUNNAME] -mf INFMAT_FILE -if INFMAT_INDEX_FILE
-hf HEAT_FILE [-ms MIN_HEAT_SCORE] [-ccs MIN_CC_SIZE] -pnp
PERMUTED_NETWORKS_PATH [-n NUM_PERMUTATIONS]
[-o OUTPUT_DIRECTORY] [--parallel] [--no-parallel]
[-ef EDGE_FILE] [-nn NETWORK_NAME]
Helper script for simple runs of generalized HotNet2, including automated
parameter selection.
optional arguments:
-h, --help show this help message and exit
-r RUNNAME, --runname RUNNAME
Name of run / disease.
-mf INFMAT_FILE, --infmat_file INFMAT_FILE
Path to .mat file containing influence matrix
答案3
~/
与 相同/home/lai
,因此您需要使用~/Downloads
或/home/lai/Downloads
。