В вашем коде Python вам нужно распечатать результат.
import sys
def fooPy():
return 10 # or whatever
if __name__ == '__main__':
sys.stdout.write("%s\n", fooPy())
Тогда в оболочке вы можете сделать:
fooShell=$(python fooPy.py) # note no space around the '='
Обратите внимание, что я добавил проверку if __name__ == '__main__'
в коде Python, чтобы убедиться, что печать выполняется только при запуске вашей программы из командной строки, а не при ее импорте из интерпретатора Python.
Я также использовал sys.stdout.write()
вместо print
, потому что
print
ведет себя по-разному в Python 2 и Python 3,
- в «реальных программах» следует использовать
sys.stdout.write()
вместо print
в любом случае: -)