Python 2.7 为什么python函数返回值没有分配给shell变量?
python:Python 2.7 为什么python函数返回值没有分配给shell变量?,python-2.7,shell,Python 2.7,Shell,python: for line in sys.stdin: foo(line) def foo(name): return "hello " + name welcome_saying = $(echo "Tom" | python welcome.py) echo "$welcome_saying" 外壳: for line in sys.stdin: foo(line) def foo(name): return "hello " + name welcome_say
for line in sys.stdin:
foo(line)
def foo(name):
return "hello " + name
welcome_saying = $(echo "Tom" | python welcome.py)
echo "$welcome_saying"
外壳:
for line in sys.stdin:
foo(line)
def foo(name):
return "hello " + name
welcome_saying = $(echo "Tom" | python welcome.py)
echo "$welcome_saying"
我希望控制台中打印“hello Tom”,但没有打印。打印(“hello”+姓名)
return
将值返回给调用函数,而不是控制台
然后您必须正确地写入管道:我希望使用返回值
welcome\u说
,而不是在控制台上打印。哦,我明白了,它必须从print
或sys.stdout.write(welcome())
写入stdout,然后需要将输出放入变量中,但它也将stderr赋值给shell变量。