subprocess相关内容
我想打开一个 unicode 文件名.以下代码: cmd = u'cmd/c "C:\\Pok\xe9mon.mp3"'cmd = cmd.encode('utf-8')subprocess.Popen(cmd) 返回 >>>'C:\Pokיmon.mp3' 不是内部或外部命令、可运行程序或批处理文件. 即使该文件确实存在.为什么会这样? 解决方案 看起来您使用的是 Windows
..
我正在运行这个: os.system("/etc/init.d/apache2 重启") 它应该重新启动网络服务器,就像我直接从终端运行命令一样,它会输出: * 正在重启 web 服务器 apache2 ...等待[OK] 但是,我不希望它在我的应用程序中实际输出.我怎样才能禁用它?谢谢! 解决方案 尽量避免os.system(),改用子进程: 使用 open(os.d
..
同样的问题. 原因是 - 阅读以下内容后我仍然无法使其工作: 在Python中实时截取另一个进程的stdout 在子进程运行时拦截其标准输出 如何从 subprocess.Popen 在 python (2.5) 中获取“实时"信息 从子进程中实时捕获标准输出 我的情况是我有一个用 C 编写的控制台应用程序,让我们以循环中的代码为例: tmp = 0.0;printf("\n
..
我正在尝试从 python 运行 gphoto2,但是没有成功.它只是返回未找到的命令.gphoto 已正确安装,如终端中的命令可以正常工作. p = subprocess.Popen(['gphoto2'], shell=True, stdout=subprocess.PIPE,stderr=subprocess.STDOUT, 可执行文件='/bin/bash')对于 p.stdout.re
..
我正在使用子进程模块调用外部程序(plink.exe)来登录服务器;但是当我调用通信来读取输出时,它是阻塞的.代码如下: 导入子流程process = subprocess.Popen('plink.exe hello@10.120.139.170 -pw 123456'.split(), shell=False, stdout=subprocess.PIPE, stderr=subproce
..
我有一个写入标准输出和可能标准错误的程序.我想从 python 运行它,捕获标准输出和标准错误.我的代码如下: 从子流程导入 *p = Popen(exe,shell=TRUE,stdout=PIPE,stderr=PIPE)rtrncode = p.wait() 对于几个程序,这可以正常工作,但是当我添加一个新程序时,新程序会永远挂起.如果我删除 stdout=PIPE,程序会将其输出写入控
..
我正在尝试自动设置 SFTP 访问.此脚本以具有 sudo 权限且没有密码的用户身份运行. 我可以这样创建用户: >>>导入子流程>>>process = subprocess.Popen(['sudo', 'useradd', 'test'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)>>>进程.通信()('
..
有哪些选项可以将文件从 python 提交和推送到 github? 以下是我认为应该可行的三种方法,因此按顺序尝试: 使用pygithub:(Github的python API)发送将请求推送到我的存储库.失败,因为我在 API 中找不到推送函数.我可以看到编辑文件,但是当我打算经常替换文件时,这无济于事. 在 python 子进程 (HTTPS) 的命令行中使用 git pus
..
我想用 Python 压缩一个文件.我正在尝试使用 subprocss.check_call(),但它一直失败并出现错误“OSError:[Errno 2] No such file or directory".我在这里尝试的有问题吗?有没有比使用 subprocess.check_call 更好的压缩文件的方法? 从子流程导入 check_calldef gZipFile(fullFilePa
..
感谢以下有用的建议: 所以当我修复它时似乎是固定的 将命令分离到对 Popen 的单独调用中 stderr=subprocess.PIPE 作为每个 Popen 链的参数. 新代码: 导入子流程进口shlex导入日志def run_shell_commands(cmds):""" 运行命令并返回上次调用 subprocess.Popen 的输出.有关用法,请参阅下面的测试."
..
我有点难以理解解决这个简单问题的 python 方法是什么. 我的问题很简单.如果您使用以下代码,它将挂起.这在子流程模块文档中有详细记录. 导入子流程proc = subprocess.Popen(['cat','-'],标准输入=子进程.PIPE,标准输出=子进程.PIPE,)对于我在范围内(100000):proc.stdin.write('%d\n' % i)输出 = proc.c
..
我使用以下方式运行子进程: p = subprocess.Popen("subprocess",标准输出=子进程.PIPE,stderr=subprocess.PIPE,标准输入=子进程.PIPE) 此子进程可以在 stderr 上出现错误时立即退出,或者继续运行.我想检测其中任何一种情况 - 后者需要等待几秒钟. 我试过了: SECONDS_TO_WAIT = 10选择.选择([
..
我有一个命令行工具(实际上是几个),我正在用 Python 编写一个包装器. 工具一般是这样使用的: $ path_to_tool -option1 -option2 >文件输出 用户将输出写入 file_out,并且还能够在工具运行时看到各种状态消息. 我想复制此行为,同时还将 stderr(状态消息)记录到文件中. 我拥有的是这样的: 从子流程导入调用调用(['pat
..
有人能解释一下为什么我想要的结果“hi"前面有一个字母“b",后面有一个换行符吗? 我正在使用 Python 3.3 >>>导入子流程>>>print(subprocess.Popen("echo hi", shell=True,stdout=subprocess.PIPE).communicate()[0])嗨\n' 如果我使用 python 2.7 运行它,则不会出现这个额外的“b"
..
我正在使用子进程从 python 中运行脚本.我试过这个 选项 1 密码 = getpass.getpass()从子流程导入 Popen、PIPE、check_callproc=Popen([command, option1, option2, etc...], stdin=PIPE, stdout=PIPE, stderr=PIPE)proc.stdin.write(密码)proc.st
..
可能重复: 在没有控制台的情况下使用 Popen 在 pythonw 中运行进程 如何消除 Windows 控制台来自 Python (2.7) 中的衍生进程? 我有一个 Python 程序,它多次调用一个单独的数字处理程序(用 C 编写)作为子进程(使用 subprocess.check_call).它在 Linux 上运行良好,在 Windows 上也运行良好,除了一件小事:每次调用
..
我需要这样做: 粘贴file1 file2 file3 >结果 我的 python 脚本中有以下内容: 从子流程导入调用//这里的其他代码.//这是我调用 shell 命令的方式调用 ["paste", "file1", "file2", "file3", ">", "result"]) 很遗憾,我收到了这个错误: paste: >: 没有这样的文件或目录. 对此的任何帮助都会
..
我注意到,即使通过 signal.Notify 拦截了中断调用,以 exec.Command 开始的进程也会被中断.我已经完成了以下示例来说明问题: 主包进口 (“日志"“操作系统"“操作系统/执行"“操作系统/信号"“系统调用")函数睡眠(){log.Println("睡眠开始")cmd := exec.Command("睡眠", "60")cmd.运行()log.Println("睡眠停止"
..
我正在做一些生物信息学工作.我有一个 python 脚本,它有时会调用一个程序来执行一个昂贵的过程(序列对齐......使用大量的计算能力和内存).我使用 subprocess.Popen 调用它.当我在测试用例上运行它时,它完成并完成得很好.但是,当我在完整文件上运行它时,它必须为不同的输入集多次执行此操作,它就会死掉.子进程抛出: OSError: [Errno 12] 无法分配内存 我找
..
我目前正在尝试为 GDB 编写 (Python 2.7.3) 一种包装器,这将允许我从脚本输入动态切换到与 GDB 的交互式通信. 到目前为止我使用 self.process = subprocess.Popen(["gdb vuln"], stdin = subprocess.PIPE, shell = True) 在我的脚本中启动 gdb.(vuln 是我要检查的二进制文件)
..