subprocess相关内容
我有一个外部可执行文件,我试图从 Python 脚本运行它.CMD 可执行文件运行但不生成输出.可能它在生成输出之前退出.关于如何延迟退出直到生成输出的任何建议? 导入子进程,系统从子流程导入 Popen, PIPEexe_str = r“C:/Windows/System32/cmd C:/temp/calc.exe"父 = subprocess.Popen(exe_str, stderr=s
..
我最近在 Python 中注意到 subprocess.Popen() 有一个参数: stdout=None(默认) 我还看到人们使用 stdout=subprocess.PIPE. 有什么区别?我应该使用哪一个? 另一个问题是,为什么 wait() 函数有时不能等到进程真正完成?我用过: a = sp.Popen(....,shell=True)等待()a2 = sp.Pope
..
非常具体的问题(我希望):以下三个代码有什么区别? (我希望它只是第一个不等待子进程完成,而第二个和第三个会这样做.但我需要确定这是 only 的区别...) 我也欢迎其他评论/建议(尽管我已经很清楚 shell=True 的危险和跨平台限制) 请注意,我已经阅读了 Python 子进程交互,为什么我的进程可以使用 Popen.communicate,而不是 Popen.stdo
..
我目前正在为在 shell 中运行的专用服务器开发一个包装器.包装器通过子进程生成服务器进程并观察其输出并对其做出反应. 必须明确地给专用服务器一个命令才能正常关闭.因此,CTRL-C 不能到达服务器进程. 如果我在 python 中捕获 KeyboardInterrupt 异常或覆盖 SIGINT 处理程序,服务器进程仍会收到 CTRL-C 并立即停止. 所以我的问题是:如何防
..
我有一个小问题,我不太确定如何解决.这是一个最小的例子: 我有什么 scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)同时(一些标准):line = scan_process.stdout.readline()some_criterium = do_someth
..
我正在使用 python 测试子流程管道.我知道我可以直接在 python 中执行下面的程序,但这不是重点.我只是想测试一下管道,所以我知道如何使用它. 我的系统是 Linux Ubuntu 9.04,默认 python 2.6. 我从这个文档示例开始. from subprocess import Popen, PIPEp1 = Popen(["grep", "-v", "not"
..
我正在尝试使用 python Subprocess 模块从 python 代码启用/禁用以太网连接.下面是我的代码,其中第一步是寻找可用的“以太网连接",下一步根据“%interfaces%"中传递的参数启用/禁用以太网连接. for/f "skip=2 tokens=3*" %%A in ('netsh interface show interface') do set interface=%
..
任务是:尝试使用“ping 8.8.8.8"等最基本的形式在python中发送ping.一段时间后终止 ping 命令(在终端中,将执行 Ctrl+C)并获取其输出.显示 ping 统计信息的最后几行输出特别令人感兴趣. 两种方法都试过了,都不行.我的操作系统版本是 Mac OS X 10.10.1. 第一种方法使用模块 pexpect,ping 将在大约 17 秒后停止,尽管我没有要
..
我正在尝试使用子进程库和 Popen 方法将文件从一个位置复制到另一个位置.运行以下脚本时,我收到错误 cp: cannot stat/some/dev_path/*.有人告诉我 * 没有扩展到文件名,这就是问题所在.同样在其他一些帖子中,人们建议使用 call 而不是 Popen,但据我所知 call 不会返回 stderr. devPath = '/some/dev_path/'produc
..
我昨天编写了这个程序,除了由 CRON 运行时,它实际上可以工作.今天,我运行了相同的脚本,但它不起作用.该脚本将在没有任何 Tracebacks 错误的情况下运行,并且它将从 ClearCase 视图复制顶部文件夹 (vob),但不会复制目标文件夹下的文件夹和文件中的实际重要数据. 这是我的 Python 脚本. def gainCode(view="My_VIEW", folder="
..
我在堆栈溢出上花了大约 6 个小时,重写了我的 python 代码并试图让它工作.它只是没有.不管我做什么. 目标:让子进程的输出实时显示在 tkinter 文本框中. 问题:我不知道如何使 Popen 实时工作.它似乎挂起,直到该过程完成.(自行运行,过程完全按预期运行,所以只是这个东西有错误) 相关代码: 导入操作系统导入 tkinter将 tkinter.ttk 导入为
..
在 Windows 机器上,我尝试从 Python 调用外部可执行文件并收集其输出以进行进一步处理.因为在调用可执行文件之前必须设置一个本地路径变量,所以我创建了一个批处理脚本, 首先调用另一个脚本来设置 %PATH% 和 然后使用给定的参数调用可执行文件. *.bat 文件如下所示: @echo off调用 set_path.bat@echo on可执行文件 %* Python
..
问题 我一直在尝试编写一个程序来记录子进程的未捕获异常和语法错误.容易,对吧?只需将 stderr 管道传输到正确的位置. 然而,子进程是另一个 python 程序——我将其称为 test.py——它需要像没有捕获其输出/错误一样运行.也就是说,运行记录器程序需要让用户看起来像正常运行 python test.py. 使问题更复杂的是 问题 raw_input 实际上被发送如果未
..
我想从我的 python 脚本中调用多个命令.我尝试使用 os.system(),但是,当当前目录更改时,我遇到了问题. 示例: os.system("ls -l")os.system("") # 这将改变当前的工作目录os.system("launchMyApp") # 我需要做的一些应用程序调用. 现在,第三次调用启动不起作用. 解决方案 os.s
..
我正在尝试使用 python 自动化一个过程.如果我只是在终端中,则工作流程如下所示: 用户:>./path/to/env1.sh用户:>蟒蛇的东西.py用户:>出口用户:>./path/to/env2.sh用户:>蟒蛇的东西2.py用户:>出口 等更多步骤.每个 env.sh 都会生成一个新脚本,其中包含大量环境变量以及当前目录中未设置的内容.我很确定我需要使用子流程,但我不确定如何去做.理
..
child = subprocess.Popen(command,壳=真,环境=环境,close_fds=真,标准输出=子进程.PIPE,标准错误=子进程.STDOUT,缓冲区大小=1,)子输出 = ""与 child.stdout:对于 iter 中的行(child.stdout.readline,b''):subout += 行记录信息(子输出)rc = child.wait() 有时(间
..
我在 Java 中启动一个子进程如下: final String[] cmd = {""};进程进程 = Runtime.getRuntime().exec(cmd); 它现在在后台运行.一切都很好. 如果我的程序现在崩溃了(它是仍在开发中:-))子进程似乎仍然徘徊.当父 Java 进程死亡时,如何使其自动结束? 如果有帮助,我使用的是 Mac OS X 10.5 解决方案
..
我在 Linux 3.16.0 上运行 Python 3.4.3.我想使用 subprocess.Popen 运行一个带有长单个参数(复杂的 Bash 调用)的命令,大约 200KiB. 根据 getconf 和 xargs,这应该在我的范围内: $ getconf ARG_MAX2097152$ xargs --show-limits
..
我在 AIX 6.1 上运行并使用 Python 2.7.想要执行以下行,但出现错误. subprocess.run(["ls", "-l"])回溯(最近一次通话最后): 中的文件“"第 1 行AttributeError:“模块"对象没有属性“运行" 解决方案 subprocess.run()函数只存在于Python 3.5及更新版本. 然而,向后移植很
..
我正在尝试使用 Python 的 subprocess 模块.我需要的是将输入发送到第一个进程,其输出成为第二个进程的输入.情况与此处文档中给出的示例基本相同:http://docs.python.org/library/subprocess.html#replacing-shell管道除了我需要提供输入第一个命令.这是复制的示例: p1 = Popen(["dmesg"], stdout=PI
..