popen相关内容

我想实现从Windows到Linux的POpen-code:

我想实现从Windows到Linux的代码: a=subprocess.Popen(['python.exe','hello.py']) 推荐答案 有两个问题。首先,python.exe在Linux中被简单地称为python,其次,python可执行文件不在当前目录中,而是位于系统路径中的某个位置。要让Linux在路径中查找python,您可以让POpen使用一个外壳: a= ..
发布时间:2022-09-24 15:55:41 Python

如何在Python中安全地调用随机文件上的类型?

因此,我尝试对某个任意文件调用Windows命令类型。不幸的是,每当我将cmd从外壳命令转换为非外壳命令时,都会失败。因此,我不能使用推荐的方法来确保我的Python脚本不会被利用。这里有一个例子。 import subprocess cmd = "type" + '"' + "some_file_with_no_spaces_or_other_things_wrong" + '"' p = ..
发布时间:2022-09-24 15:35:04 Python

没有控制台的 C++ popen 命令

当我使用 popen 获取命令的输出时,比如 dir,它会提示一个控制台. 但是,我可以在没有控制台出现的情况下获得命令的输出吗? 我正在使用 Visual C++,并希望创建一个库来返回某些命令的输出,例如 dir. 解决方案 假设 Windows(因为这是唯一普遍存在这种行为的平台): CreatePipe() 来创建通信所需的管道,以及 CreateProcess创 ..
发布时间:2022-01-23 08:30:59 C/C++开发

模拟 subprocess.Popen 依赖于导入样式

在尝试模拟 Popen 时,只有在单元测试代码和主模块代码中子流程的导入匹配时,我才能使其成功. 给定以下模块 listdir.py: from subprocess import Popen, PIPE定义列表目录(目录):cmd = ['ls', 目录]pc = Popen(cmd, stdout=PIPE, stderr=PIPE)出来,错误 = pc.communicate()如果 ..
发布时间:2022-01-18 16:18:12 Python

Ping 的 Python 控制台和文本输出,包括 \n\r

我不知道发生了什么,但是当我打印到控制台或文本文件时,换行符 (\n) 不起作用,而是显示在字符串中.知道如何在控制台和文本文件中避免这种情况吗? 我的代码: 导入子流程hosts_file = open("hosts.txt","r")行 = hosts_file.readlines()对于行中的行:line = line.strip()ping = subprocess.Popen([ ..
发布时间:2022-01-18 16:16:17 Python

如何从 subprocess.communicate() 在 python 中捕获流输出

目前,我有这样的事情: self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE)出,错误 = self.process.communicate() 我正在运行的命令流式传输输出,我需要在继续之前阻止该进程. 如何才能捕获流输出并通过标准输出打印流输出?当我设置 stdout=subprocess.PIPE 时,我可 ..
发布时间:2022-01-18 16:14:04 Python

WindowsError:[错误 5] 尝试终止子进程时拒绝访问(python)

所以我有一个 python 脚本,它运行一个循环,它通过子进程调用程序 A.Popen 等待它的输出,然后保存输出,然后再次调用它,依此类推.(这在我设置为输入的多次运行中不断发生) 问题是我有一个计时器,这样每当程序 A 花费的时间超过特定的阈值时间时,脚本就会使用 process.kill() 终止进程并继续进行下一次迭代. 问题是,即使运行 300 次似乎一切正常,但有时我会收到 ..
发布时间:2022-01-18 16:09:20 Python

读取/写入 Popen() 子进程

我正在尝试使用 python subprocess.Popen() 调用与子进程交谈.在我的真实代码中,我正在实现一种 IPC,所以我想写入一些数据、读取响应、写入更多数据、读取响应等等.因此,我不能使用 Popen.communicate(),否则它适用于简单的情况. 这段代码显示了我的问题.它甚至从来没有得到第一个响应,挂在第一个“阅读结果"上.为什么?我怎样才能使这项工作如我所愿? ..
发布时间:2022-01-18 16:06:54 Python

Python subprocess.Popen() 等待完成

我正在编写一个小脚本来串行遍历目录并在其中的子目录上运行命令. 我遇到了一个问题,但是 Popen()它将遍历目录并运行所需的命令,而无需等待前一个命令完成.即 对于目录中的目录:#run 命令在这里的目录上. 它会启动每个目录的命令而不关心它.我希望它等待当前一个完成,然后开始下一个.我在目录中使用的工具是来自 SANS SIFT 的 Log2timeline,它需要相当长的时间并产生 ..
发布时间:2022-01-18 16:06:14 Python

subprocess.call() 和 subprocess.Popen() 之间有什么区别使 PIPE 对前者的安全性降低?

我已经查看了他们两个的文档. JF 在这里的评论提示了这个问题:检索输出subprocess.call() subprocess.call() 的当前 Python 文档 对 subprocess.call() 使用 PIPE 有如下说明: 注意不要在此函数中使用 stdout=PIPE 或 stderr=PIPE.如果子进程生成足够的输出到管道以填满操作系统管道缓冲区,则子进程 ..
发布时间:2022-01-18 16:04:44 Python

在 Windows 中使用子进程 Popen.send_signal(CTRL_C_EVENT) 时如何达到预期的效果?

根据文档,在 windows 中的 python 2.7 中,您可以发送 CTRL_C_EVENT(Python 2.7 子进程 Popen.send_signal 文档).但是,当我尝试它时,我没有在子进程中收到预期的键盘中断. 这是父进程的示例代码: # 文件:parentProcess.py导入子流程进口时间进口信号CREATE_NEW_PROCESS_GROUP = 512进程 = ..
发布时间:2022-01-18 16:04:18 Python

在 python 中处理 tcpdump 输出

我正在尝试在 python 中处理 tcpdump 输出. 我需要的是运行 tcpdump(它捕获数据包并为我提供信息)并读取输出并处理它. 问题是 tcpdump 一直在运行,我需要在它输出后立即读取数据包信息并继续执行. 我尝试查看 python 的子进程并尝试使用 popen 调用 tcpdump 并通过管道传输标准输出,但它似乎不起作用. 有关如何进行此操作的任何说 ..
发布时间:2022-01-18 16:04:09 Python

使用 subprocess.Popen 的非常大的输入和管道

我有一个很简单的问题.我有一个大文件,它经过三个步骤,一个使用外部程序的解码步骤,在 python 中的一些处理,然后使用另一个外部程序重新编码.我一直在使用 subprocess.Popen() 尝试在 python 中执行此操作,而不是形成 unix 管道.但是,所有数据都缓冲到内存中.有没有一种 Python 的方式来完成这项任务,或者我最好退回到一个简单的 Python 脚本,该脚本从标准 ..
发布时间:2022-01-18 16:03:27 Python

如何在子进程中避免 shell=True

我有子进程命令来检查 md5 校验和为 subprocess.check_output('md5 Downloads/test.txt', stderr=subprocess.STDOUT, shell=True) 它工作正常.但我读了尽量避免 shell=True但是当我运行时 subprocess.check_output('md5 Downloads/test.txt', stderr ..
发布时间:2022-01-18 16:01:18 Python