subprocess相关内容

如何使用 Python 运行外部可执行文件?

我有一个外部可执行文件,我试图从 Python 脚本运行它.CMD 可执行文件运行但不生成输出.可能它在生成输出之前退出.关于如何延迟退出直到生成输出的任何建议? 导入子进程,系统从子流程导入 Popen, PIPEexe_str = r“C:/Windows/System32/cmd C:/temp/calc.exe"父 = subprocess.Popen(exe_str, stderr=s ..
发布时间:2022-01-18 15:52:13 Python

Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?

非常具体的问题(我希望):以下三个代码有什么区别? (我希望它只是第一个不等待子进程完成,而第二个和第三个会这样做.但我需要确定这是 only 的区别...) 我也欢迎其他评论/建议(尽管我已经很清楚 shell=True 的危险和跨平台限制) 请注意,我已经阅读了 Python 子进程交互,为什么我的进程可以使用 Popen.communicate,而不是 Popen.stdo ..
发布时间:2022-01-18 15:51:37 Python

Python:如何防止子进程接收 CTRL-C/Control-C/SIGINT

我目前正在为在 shell 中运行的专用服务器开发一个包装器.包装器通过子进程生成服务器进程并观察其输出并对其做出反应. 必须明确地给专用服务器一个命令才能正常关闭.因此,CTRL-C 不能到达服务器进程. 如果我在 python 中捕获 KeyboardInterrupt 异常或覆盖 SIGINT 处理程序,服务器进程仍会收到 CTRL-C 并立即停止. 所以我的问题是:如何防 ..
发布时间:2022-01-18 15:51:28 Python

Python中子进程读取线超时

我有一个小问题,我不太确定如何解决.这是一个最小的例子: 我有什么 scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)同时(一些标准):line = scan_process.stdout.readline()some_criterium = do_someth ..
发布时间:2022-01-18 15:51:19 Python

块 - 将输入发送到 python 子进程管道

我正在使用 python 测试子流程管道.我知道我可以直接在 python 中执行下面的程序,但这不是重点.我只是想测试一下管道,所以我知道如何使用它. 我的系统是 Linux Ubuntu 9.04,默认 python 2.6. 我从这个文档示例开始. from subprocess import Popen, PIPEp1 = Popen(["grep", "-v", "not" ..
发布时间:2022-01-18 15:51:09 Python

使用 Python 子进程模块时如何传递变量

我正在尝试使用 python Subprocess 模块从 python 代码启用/禁用以太网连接.下面是我的代码,其中第一步是寻找可用的“以太网连接",下一步根据“%interfaces%"中传递的参数启用/禁用以太网连接. for/f "skip=2 tokens=3*" %%A in ('netsh interface show interface') do set interface=% ..
发布时间:2022-01-18 15:50:59 Python

ping 无限时间并在 Python 中获取其输出

任务是:尝试使用“ping 8.8.8.8"等最基本的形式在python中发送ping.一段时间后终止 ping 命令(在终端中,将执行 Ctrl+C)并获取其输出.显示 ping 统计信息的最后几行输出特别令人感兴趣. 两种方法都试过了,都不行.我的操作系统版本是 Mac OS X 10.10.1. 第一种方法使用模块 pexpect,ping 将在大约 17 秒后停止,尽管我没有要 ..
发布时间:2022-01-18 15:50:50 Python

在子进程中使用 * 通配符的命令问题

我正在尝试使用子进程库和 Popen 方法将文件从一个位置复制到另一个位置.运行以下脚本时,我收到错误 cp: cannot stat/some/dev_path/*.有人告诉我 * 没有扩展到文件名,这就是问题所在.同样在其他一些帖子中,人们建议使用 call 而不是 Popen,但据我所知 call 不会返回 stderr. devPath = '/some/dev_path/'produc ..
发布时间:2022-01-18 15:50:40 Python

Python ClearCase 下载 Vobs Popen 密码 BASH 程序 Sketchy

我昨天编写了这个程序,除了由 CRON 运行时,它实际上可以工作.今天,我运行了相同的脚本,但它不起作用.该脚本将在没有任何 Tracebacks 错误的情况下运行,并且它将从 ClearCase 视图复制顶部文件夹 (vob),但不会复制目标文件夹下的文件夹和文件中的实际重要数据. 这是我的 Python 脚本. def gainCode(view="My_VIEW", folder=" ..
发布时间:2022-01-18 15:50:23 Python

实时拦截子流程输出的问题

我在堆栈溢出上花了大约 6 个小时,重写了我的 python 代码并试图让它工作.它只是没有.不管我做什么. 目标:让子进程的输出实时显示在 tkinter 文本框中. 问题:我不知道如何使 Popen 实时工作.它似乎挂起,直到该过程完成.(自行运行,过程完全按预期运行,所以只是这个东西有错误) 相关代码: 导入操作系统导入 tkinter将 tkinter.ttk 导入为 ..
发布时间:2022-01-18 15:50:13 Python

通过 subprocess.check_output 调用的可执行文件在控制台上打印,但不返回结果

在 Windows 机器上,我尝试从 Python 调用外部可执行文件并收集其输出以进行进一步处理.因为在调用可执行文件之前必须设置一个本地路径变量,所以我创建了一个批处理脚本, 首先调用另一个脚本来设置 %PATH% 和 然后使用给定的参数调用可执行文件. *.bat 文件如下所示: @echo off调用 set_path.bat@echo on可执行文件 %* Python ..
发布时间:2022-01-18 15:49:41 Python

记录 python 子进程的语法错误和未捕获的异常并将它们打印到终端

问题 我一直在尝试编写一个程序来记录子进程的未捕获异常和语法错误.容易,对吧?只需将 stderr 管道传输到正确的位置. 然而,子进程是另一个 python 程序——我将其称为 test.py——它需要像没有捕获其输出/错误一样运行.也就是说,运行记录器程序需要让用户看起来像正常运行 python test.py. 使问题更复杂的是 问题 raw_input 实际上被发送如果未 ..
发布时间:2022-01-18 15:49:33 Python

在 Python 中使用 os.system 调用多个命令

我想从我的 python 脚本中调用多个命令.我尝试使用 os.system(),但是,当当前目录更改时,我遇到了问题. 示例: os.system("ls -l")os.system("") # 这将改变当前的工作目录os.system("launchMyApp") # 我需要做的一些应用程序调用. 现在,第三次调用启动不起作用. 解决方案 os.s ..
发布时间:2022-01-18 15:49:15 服务器开发

使用Python打开shell环境,运行命令并退出环境

我正在尝试使用 python 自动化一个过程.如果我只是在终端中,则工作流程如下所示: 用户:>./path/to/env1.sh用户:>蟒蛇的东西.py用户:>出口用户:>./path/to/env2.sh用户:>蟒蛇的东西2.py用户:>出口 等更多步骤.每个 env.sh 都会生成一个新脚本,其中包含大量环境变量以及当前目录中未设置的内容.我很确定我需要使用子流程,但我不确定如何去做.理 ..
发布时间:2022-01-18 15:49:10 Python

python subprocess.Popen 挂起

child = subprocess.Popen(command,壳=真,环境=环境,close_fds=真,标准输出=子进程.PIPE,标准错误=子进程.STDOUT,缓冲区大小=1,)子输出 = ""与 child.stdout:对于 iter 中的行(child.stdout.readline,b''):subout += 行记录信息(子输出)rc = child.wait() 有时(间 ..
发布时间:2022-01-18 15:49:04 Python

当我的 Java 应用程序退出/崩溃时,如何摆脱 Java 子进程?

我在 Java 中启动一个子进程如下: final String[] cmd = {""};进程进程 = Runtime.getRuntime().exec(cmd); 它现在在后台运行.一切都很好. 如果我的程序现在崩溃了(它是仍在开发中:-))子进程似乎仍然徘徊.当父 Java 进程死亡时,如何使其自动结束? 如果有帮助,我使用的是 Mac OS X 10.5 解决方案 ..
发布时间:2022-01-18 15:48:11 Java开发

出现错误 - AttributeError: 'module' object has no attribute 'run' while running subprocess.run(["ls", "-l"])

我在 AIX 6.1 上运行并使用 Python 2.7.想要执行以下行,但出现错误. subprocess.run(["ls", "-l"])回溯(最近一次通话最后): 中的文件“"第 1 行AttributeError:“模块"对象没有属性“运行" 解决方案 subprocess.run()函数只存在于Python 3.5及更新版本. 然而,向后移植很 ..
发布时间:2022-01-18 15:47:46 Python

Python subprocess 模块,我如何为管道命令系列中的第一个提供输入?

我正在尝试使用 Python 的 subprocess 模块.我需要的是将输入发送到第一个进程,其输出成为第二个进程的输入.情况与此处文档中给出的示例基本相同:http://docs.python.org/library/subprocess.html#replacing-shell管道除了我需要提供输入第一个命令.这是复制的示例: p1 = Popen(["dmesg"], stdout=PI ..
发布时间:2022-01-18 15:47:40 Python