【问题标题】:How to pass more than one variable from Python script to c shell script如何将多个变量从 Python 脚本传递给 c shell 脚本
【发布时间】:2015-01-30 14:40:05
【问题描述】:

我确实知道我们如何将一个变量从 python 传递给 c shell 脚本,但是我在将多个 python 变量传递给 c shell 脚本时遇到了麻烦。请让我知道我们如何实现这一目标。这是我知道将单个变量从 python 传递到 c shell 脚本的链接。

How to pass the Python variable to c shell script

【问题讨论】:

  • 您作为起点使用的答案是......真的很糟糕; shlex.split() 相当明确地不应该在这种情况下使用。
  • 也就是说——到目前为止,您尝试了哪些方法,又是如何失败的?
  • 顺便说一句,这些都不是特定于 csh 的——环境和参数向量都是通用概念;无论接收程序是用什么语言编写的,通过它们传递的内容都是一样的。

标签: python c bash shell subprocess


【解决方案1】:

将每个参数作为单独的 argv 条目传递:

first_var='hello'
second_var='world'
subprocess.Popen(['program_name', first_var, second_var], shell=False)

相比之下,如果您想通过环境传递多个变量,它们都应该是env 字典中的键:

subprocess.Popen(['program_name'], env={
  'first_var': first_var,
  'second_var': second_var,
})

【讨论】:

  • 谢谢查尔斯,这正是我一直在寻找的,因为我在问题中提到的先前解决方案有点令人困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
相关资源
最近更新 更多