Добавление путей к файлам к коду Python

Я в настоящее время выполняю код для программы под названием HotNet.

В его simpleRun.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
задан 21 March 2014 в 00:25

3 ответа

Вместо того, чтобы редактировать py файл, Вы просто звонили бы simpleRun.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
3
ответ дан 10 November 2019 в 18:45

ответ @cyberbills абсолютно корректен, но я хотел добавить немного больше объяснения.

Вы, как предполагается, не редактируете simpleRun.py для добавления пути - это уже определяется, и аргумент "справки" там, чтобы дать Вам справку при фактическом выполнении simpleRun.py сценария из командной строки.

Другими словами, help аргумент не делает , содержат путь, но дает справка использования для использования эти -mf флаг.

при использовании simpleRun.py с "MF" Вы выполните его как simpleRun.py -mf <file.mat>.

(Примечание: сделайте chmod +x на simpleRun.py, если Вы хотите выполнить его путем ввода ./simpleRun.py. Иначе используйте python ./simpleRun.py, как киберсчет указывает).

Все аргументы синтаксического анализатора в 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
2
ответ дан 10 November 2019 в 18:45

~/ совпадает с /home/lai, таким образом, Вы хотите использовать ~/Downloads или /home/lai/Downloads.

-1
ответ дан 10 November 2019 в 18:45

Другие вопросы по тегам:

Похожие вопросы: