python变量作为参数

时间:2014-11-03 21:17:05

标签: python linux pexpect

我正在使用pexpect来运行一些linux命令。我在命令中使用变量时遇到了麻烦。例如:

first_dir="/opt/dirA"
second_dir="/opt/dirB"

我想将dirA复制到dirB:

cmd="cp -rp " +first_dir +" " +second_dir
print("cmd is ",cmd)
s.sendline(cmd)

它给出了一个错误:`/ opt / dirA'之后缺少目标文件操作数 但是打印输出正确(cp -rp / opt / dirA / opt / dirB)并且以下命令有效     s.sendline(" cp -rp / opt / dirA / opt / dirB")

有人能看出我做错了吗?

2 个答案:

答案 0 :(得分:1)

您的first_dirsecond_dir字符串不是。试试first_dir = "/opt/dirA"

答案 1 :(得分:0)

秘诀是使用os.environ数组。 你可以在这里找到一个例子:

#!/usr/bin/python
import os
first_dir = os.environ["first_dir"]
second_dir = os.environ["second_dir"]

如您所见,该脚本将Linux环境变量first_dir和second_dir读入两个同名的Python变量中。