将字符串传递给命令行

时间:2013-06-20 19:48:15

标签: python command-line

我编写了一些可以搜索大型csv文件的代码,并根据搜索参数查找计算机名称。

现在,我想将此字符串(计算机名称)作为命令行参数传递,并自动运行RealVNC(位于C:\Program Files\RealVNC\VNC4\vncviewer.exe)。因此,执行代码后,将弹出RealVNC窗口,远程访问网络上的计算机。

3 个答案:

答案 0 :(得分:4)

您可以使用这样的子流程:

from subprocess import call
call(["appname", "arguments"])

如果你没有它,这里是命令行参数及其选项的manual page

答案 1 :(得分:1)

查看subprocess模块(更具体地说,callPopen

答案 2 :(得分:1)

使用subprocess.Popen,除非您希望调用程序等待realvnc退出...

import subprocess

hostname = 'foo.example.com' # Read the hostname from your CSV file instead.

# Suppres terminal windows on MS windows.
startupinfo = None
if os.name == 'nt':
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
subprocess.Popen(['C:\Program Files\RealVNC\VNC4\vncviewer.exe', hostname])