从控制台输入可扩展的输入

时间:2017-12-28 13:46:23

标签: python shell input

假设这个简短的shell脚本

#! /bin/sh                                                                      
read -p "Enter directory: " dir
echo $dir

或python脚本

#!/usr/bin/env python                                                           
dir = input("Enter directory: ")
print dir

当我尝试使用环境变量从控制台输入目录时,例如$PROJECT

$PROJECT/src

环境变量未展开,但 TAB 显示为TAB。

有没有办法让控制台的输入可扩展?

1 个答案:

答案 0 :(得分:2)

为什么不使用sys.argv?您可以将环境变量作为参数传递给脚本。例如;假设以下脚本:

#!/usr/bin/env python           
import sys                                                

print sys.argv

当我们按以下方式运行时:

python2 example.py $PROJECT_PATH

您会在$PROJECT_PATH列表中找到sys.argv作为第二个元素。运行上述命令时,它将完全类似于以下输出:

['example.py', '/path/to/example/project']