如何从python代码将数据传递给应用程序

时间:2014-04-08 10:15:10

标签: python arguments subprocess py2exe

我在Windows 7 64位机器上使用python 2.7。 我在python代码中调用外部应用程序

os.startfile("D:\\dist\\NewProcess.exe")

此应用程序(使用py2exe将python脚本转换为exe)使用两个字符串,需要从父进程传递。 那么,如何传递这两个字符串,以及如何在NewProcess.py文件中获取这些字符串(可能是通过sys.argv参数)

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

import subprocess
import sys
try:
    retcode = subprocess.call("D:\\dist\\NewProcess.exe " + sys.argv[1] + " " + sys.argv[2], shell=True)
    if retcode < 0:
        print >>sys.stderr, "Child was terminated by signal", -retcode
    else:
        print >>sys.stderr, "Child returned", retcode
except OSError as e:
    print >>sys.stderr, "Execution failed:", e

在sys.argv [0]中是脚本名称,在sys.argv [1]中... [n]是脚本参数。上面的示例来自子流程模块文档https://docs.python.org/2/library/subprocess.html