【问题标题】:Pass a variable to a path/command in python将变量传递给python中的路径/命令
【发布时间】:2013-11-21 11:11:36
【问题描述】:

我是 Python 新手。我想执行一个在python中有参数的脚本。请看下面的示例,了解我最终想要实现的目标。

我有一个带参数的脚本:

PATH="ABCXYZ"
username = "admin"
password = "pass"
query = "select * from user;"
OUTPUT = /usr/local/<PATH>/dbscript -u username -p password -q query

如何在“/usr/local/PATH>/dbscript”中传递PATH 变量?

我尝试使用os.systemsubprocess,但我们不能在两者之间使用变量。 我想要OUTPUT 变量数据,它将打印yesnosome number

【问题讨论】:

    标签: python variables python-2.7 subprocess


    【解决方案1】:

    以下必须有效。

    import subprocess as sp
    PATH="ABCXYZ"
    username = "admin"
    password = "pass"
    query = "select * from user;"
    command = "/usr/local/%s/dbscript -u %s -p %s -q %s" % (PATH, username, password, query)
    #Next line print '/usr/local/ABCXYZ/dbscript -u admin -p pass -q select * from user;' for me.
    print command # 
    sp.Popen(command.split(), shell=True)
    

    此外,您应该使用shell 参数和有用的阅读it

    【讨论】:

    • @MichaelKazarian 我在 command = "/usr/local/%s/dbscript - u %s -p %s -q %s" % (PATH, username, pass, query) TypeError: not enough arguments for format string"
    • @San In command = ... 我发现了错误并检查了它。现在一切都为我工作。
    最近更新 更多