【问题标题】:How can I get the variable that a python file with a path prints when I call that python file from a shell script?当我从 shell 脚本调用 python 文件时,如何获取带有路径的 python 文件打印的变量?
【发布时间】:2017-05-17 05:31:31
【问题描述】:

由于某种原因,当我在我的 shell 脚本中运行它时,只有 $exec_file 和 $_dir 被传递到 module_test.py,但 $filename 和 $modified_file 都没有被传递。

mod_test=$( /path/module_test.py $modified_file $_dir $filename )

(路径只是一个普通路径,为了这个例子我决定缩短) 我输入错了吗?我正在尝试将 module_test.py 的输出(整数)放入变量 mod_test 中。

我的变量是:

modified_file = _File
_dir = /path to directory/
file = _File.py

【问题讨论】:

  • 发布一个包含变量实际值的示例。
  • 你是如何接收 python 脚本中的参数的?
  • @ronakg 我只是尝试打印显示缺少两个元素的 sys.argv 数组。
  • 您应该在 bash 脚本中运行 python 脚本之前执行set -x。这样您就可以知道是否执行了正确的命令。如果$filename 为空怎么办?

标签: python bash shell variables piping


【解决方案1】:

根据您的示例,您需要用引号将$_dir 括起来,因为它包含空格,即:

mod_test=$( /path/module_test.py $modified_file '$_dir' $filename )

【讨论】:

  • 谢谢佩德罗,原来是因为我有一个愚蠢的错字,在修复它时一切正常。我将您的问题标记为正确答案,因为您帮助了我。
猜你喜欢
  • 1970-01-01
  • 2020-10-06
  • 2021-11-02
  • 2013-05-18
  • 2020-05-10
  • 2020-10-02
  • 2020-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多