Não é possível usar o comando source dentro do script python [closed]

0

Eu basicamente quero definir o caminho para algumas das variáveis no Unix. Mas o comando de origem não funciona aqui. Alguma sugestão do mesmo?

    
por Mikhilesh Sekhar 02.12.2015 / 10:36

1 resposta

2

Eu tentei o que você descreveu e a solução é usar . em vez de source , que é basicamente um alias do primeiro.
Você também deve especificar explicitamente ./FILENAME se o arquivo estiver no diretório atual.

Por favor, veja minha sessão de exemplo:

Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("source .bashrc")
sh: 1: source: not found
32512
>>> os.system(". .bash_aliases")
sh: 1: .: .bash_aliases: not found
512
>>> os.system(". ./.bash_aliases")
0
>>> os.system(". ~/.bash_aliases")
0
>>> os.system(". /home/USERNAME/.bash_aliases")
0

Um valor de retorno de 0 indica sucesso.

No entanto, não tenho certeza se a origem de um arquivo produz os resultados desejados, já que esse método executa o comando especificado em um subshell e não tenho certeza se isso também afeta a sessão de shell desejada.

    
por 02.12.2015 / 12:39

Tags