2015-12-09 3 views
0

Мне нужно передать несколько переменных окружения в качестве параметров, которые могут выполнять определенную работу.Передача переменных окружения в качестве параметров

Пример: В Perl, это было бы что-то вроде этого

my $g_folder = $ENV{'g_folder'}; 
my $assembly_name = $ENV{'genome_assembly_name'}; 

my $genome_seq = $g_folder . '/' . $assembly_name .".fa"; 

Есть простой способ сделать это в Python. Любая помощь приветствуется. Благодарю.

+2

'os.environ'? Я полагаю ? –

+0

Вы хотите прочитать переменную окружения или перейти к программе? – cmp

+0

Что вы на самом деле делаете? –

ответ

1
import os 

env_name = 'g_folder' 
assembly_name = 'genome_assembly_name' 

g = os.getenv(env_name) 
assembly = os.getenv(assembly_name) 

file_name = os.path.join(g, assembly) + ".fa" 
+0

Это сработало отлично, спасибо. – user44552

1

Я хотел бы перевести это на Python, как:

import os 

g_folder = os.environ['g_folder'] 
assembly_name = os.environ['genome_assembly_name'] 
genome_seq = os.path.join(g_folder, assembly_name + '.fa') 
+0

Замечательно похоже, но вы были немного быстрее ... – Alexander

+0

Спасибо. Сначала я подумал об этом, но это не сработало. Я попробовал os.environ.copy для вызова параметров для моего подпроцесса, но это не передало параметр. – user44552

0
os.system("some.exe.bin {genome_assembly_name}".format(**os.environ) 

еще один способ сделать это ...

Смежные вопросы