popen相关内容

Python's Popen +communication 只返回标准输出的第一行

我正在尝试使用我的命令行 git 客户端和 Python 的 I/O 重定向,以便在许多 git 存储库上自动执行一些常见操作.(是的,这是 hack-ish.我以后可能会回去使用 Python 库来做这件事,但现在它似乎工作正常 :) ) 我希望能够捕获调用 git 的输出.隐藏输出会更好看,捕获它会让我记录它,以防它有用. 我的问题是,当我运行“git clone"命令时,我无法获 ..
发布时间:2021-06-18 20:11:16 Python

Python 的 Popen + 通信只返回标准输出的第一行

我正在尝试使用我的命令行 git 客户端和 Python 的 I/O 重定向,以便在许多 git 存储库上自动执行一些常见操作.(是的,这是 hack-ish.我以后可能会回去使用 Python 库来做这件事,但现在它似乎工作正常 :) ) 我希望能够捕获调用 git 的输出.隐藏输出会更好看,捕获它会让我记录它,以防它有用. 我的问题是,当我运行“git clone"命令时,我无法获 ..
发布时间:2021-06-18 20:11:12 Python

子流程模块中的 check_call check_output 调用和 Popen 方法之间的实际区别是什么?

老实说,我只是不明白“非零"状态的行话来真正解释帮助页面上正在发生的事情或这意味着什么(甚至没有定义).有哪些使用python调用其他脚本的例子,其中 的这些进程 subprocess.callsubprocess.check_outputsubprocess.popen 真的不一样吗?你什么时候会使用其中的任何一个,这些方法的明确细节是什么?如果我想要简单的操作系统调用,我应该使用 o ..
发布时间:2021-06-18 20:11:02 Python

ModuleNotFoundError: 没有名为“popen2"的模块(如何安装 popen2?)

我正在使用 python 3.6 并尝试导入 pyvb.但是当我输入import pyvb时,出现了这个错误: 没有名为 popen2 的模块 我找不到如何安装“popen2".相反,我这样做了:pip install popen.但它对我不起作用.我如何安装 popen2? 解决方案 此模块已自 2.6 版起已弃用.您现在必须使用 subprocess 模块.对于迁移,您还可 ..
发布时间:2021-06-18 20:11:00 其他开发

将 subprocess.Popen (shell=True) 与 windows 文件夹一起使用

我目前正在研究 Popen 来自动化压缩和文件存储. 对于压缩部分,我想到了以下 Python 行: subprocess.Popen("WinRAR.exe a -r c:\\03.Notes\\AllTexts *.txt", shell=True) 我一直收到错误消息,因为该命令无法处理包含空格的文件夹名称(03.Notes).这个问题之前被问过几次,而且,我必须说我尝试了所有的命 ..
发布时间:2021-06-18 20:10:57 Python

函数中的 Subprocess.call() 不会暂停调用该函数的脚本

我查看并找到了解决方案,尝试了它们并得到了相同的结果.我尝试使用 Popen.wait()、run() 和 call().正如其他用户所建议的,我也尝试将命令作为字符串列表传递.没用.子进程调用不会出错,所以这不是问题. 功能如下: def 爆炸(文件):command = f'blastn -query {output_path}fasta_files/{file} -db {db_pa ..
发布时间:2021-06-18 20:10:54 Python

如何运行 Python 的子进程并将其留在后台

我看过很多关于我的主题的帖子,但实际上我没有找到解决我的问题的方法.我正在尝试在后台运行子进程,而不等待子进程执行.被调用的子进程是一个 shell 脚本,它做很多不同的事情.这是我的一小段代码: print "执行命令:", full_commandsubprocess.Popen(full_command, stdin=None, stdout=None, stderr=None, clos ..
发布时间:2021-06-18 20:10:48 Python

如何与 Popen 同时写入标准输出和日志文件?

我正在使用 Popen 调用一个 shell 脚本,该脚本不断将其 stdout 和 stderr 写入日志文件.有没有办法同时连续输出日志文件(到屏幕),或者让 shell 脚本同时写入日志文件和标准输出? 我基本上想在 Python 中做这样的事情: cat文件2>&1 |tee -a logfile #“猫文件"将被一些脚本替换 同样,这会将 stderr/stdout 连接到 t ..
发布时间:2021-06-18 20:10:40 Python

二进制模式的 Windows 管道

我在 Windows 中编写了一个程序,该程序将播放通过标准输入发送给它的二进制音频,我称之为 aplay(就像 linux 程序).然后我写了一个单独的程序如下 FILE * f = popen("aplay.exe", "wb");FILE * song = fopen("C:/Users/Ray/Dropbox/DJ Automica 2/Debug/raymonster 5.wav", ..
发布时间:2021-06-18 18:31:17 其他开发

Python 可以使用单独的媒体播放器打开 mp3 文件吗?

是否可以在 Python 中打开 mp3 文件(可以使用 Popen),我的意思不是在程序中运行它,我的意思是作为单独的窗口在媒体播放器中或任何只是为了在我调用函数时打开它,如果是这样,如何? 解决方案 使用关联的应用程序打开文件(仅限Windows): 导入操作系统os.startfile('my_mp3.mp3') 文档链接可以在这里找到.> ..
发布时间:2021-06-04 18:31:53 Python

子进程的Popen打开文件过多错误

我正在使用Python的子进程模块来调用命令以将值从文件写入内存.看起来像: import子进程f =打开('memdump','r')content = [line.split()[1] for f中的行]f.close()tbl_pt0 = 0x4400tbl_pt1 = 0x4800进程= 0我= 0对于内容的价值:p1 = subprocess.Popen("echo \" jagua ..
发布时间:2021-05-07 18:52:47 Python

使用Popen.wait()时重现死锁

从文档中使用 Popen.wait()可以: 在使用stdout = PIPE和/或stderr = PIPE并使用子级时出现死锁进程生成足够的输出到管道,从而阻止等待让OS管道缓冲区接受更多数据.使用communication()避免那个. 在交流中 现在,您想从此输出中获取输出,因此您可以这样做: output = p.stdout.read() 不幸的是,弹出了很多 ..
发布时间:2021-04-29 20:18:31 Python

往返于2个Python子进程的循环管道

我需要有关子流程模块的帮助.这个问题听起来似乎很重复,而且我已经以多种方式看到了许多与之相关的文章.但是即使这样我也无法解决我的问题.内容如下: 我有一个C程序2.c,其内容如下: #includeint main(){诠释scanf(“%d",& a);而(1){if(a == 0)//第一个输入的特殊情况{printf(“%d \ n",(a + 1));休息;}sca ..
发布时间:2021-04-23 19:44:38 其他开发

有没有办法确定“孙子"身份?用"sh -c"产生的进程的pid_t?

此问题来自 this 和此. 为了增强对生成过程和重定向管道的理解,我在下面编写了类似 popen 的函数 popen2()-返回生成的子进程的pid_t . 注意: popen2()的实现通过 exec ing sh -c cmd 而不是 cmd ,因为在第二个链接的问题上支持这种方法的解释. 底部的代码不是很长,而是切合实际: a.out 生成 child.out 以及 ps ..
发布时间:2021-04-22 18:31:53 服务器开发

将输入从popen()读入C中的char *

我有一个FILE指针,其中包含来自popen()的输入.我想将所有输入都放在char * str中,但是我不知道该怎么做(C编程的新手). void save_cmd(int fd){char buf [100];char * str;文件* ls;如果(NULL ==(ls = popen("ls","r"))){perror("popen");退出(EXIT_FAILURE);}while ..
发布时间:2021-04-21 20:17:20 其他开发