subprocess相关内容
Windows版本的Python 2.6.4:使用shell = True时,是否有任何方法可以确定subprocess.Popen()是否失败? 当shell = False时,Popen()成功失败 >>> import subprocess >>> p = subprocess.Popen( 'Nonsense.application', shell=False ) Traceb
..
因此,我试图在某些任意文件上调用Windows命令类型.不幸的是,每当我将cmd从shell命令转换为非shell命令时,它都会失败.因此,我不能使用推荐的方法来确保无法利用我的python脚本.这是一个例子. import subprocess cmd = "type" + '"' + "some_file_with_no_spaces_or_other_things_wrong" + '
..
这两个选项之间的区别是什么,对于Linux下的python3.2+用subprocess.Popen启动新进程: proc = subprocess.Popen(args, ..., preexec_fn=os.setsid) # 1 proc = subprocess.Popen(args, ..., start_new_session=True) # 2 我需要这个,因为我需要设
..
目前,我有这样的事情: self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE) out, err = self.process.communicate() 我正在运行的命令将输出流式处理,在继续之前,我需要阻塞该过程. 我如何做到这一点,以便可以捕获流输出并通过stdout打印流输出?设置stdout=su
..
有哪些选项可用于将文件从python提交和推送到github? 以下是我认为应该可行的三种方法,因此请按顺序尝试: 使用 pygithub :(Github的python API)进行操作将推送请求发送到我的存储库.失败,因为我在API中找不到推入功能.我可以看到编辑文件,但是当我计划经常更换文件时,这无济于事. 在python子进程(HTTPS)的命令行中使用git push:
..
所以我有一个python脚本,它运行一个循环,在该循环中它通过子进程调用程序A.Popen等待其输出,然后保存输出,然后再次调用,依此类推. (在我设置为输入的多次运行中,这种情况一直发生) 问题是我有一个计时器,以便每当程序A花费的时间超过特定的threshold_time时,脚本就会使用process.kill()杀死该进程并继续进行下一个迭代. 问题是,即使运行300次后,一切似
..
我正在编写一个小脚本来依次遍历目录并在其中的子目录上运行命令. 但是我遇到了 Popen()的问题,它会遍历目录并运行所需的命令,而无需等待上一个命令完成.即 for dir in dirs: #run command on the directory here. 它启动每个目录的命令,而无需关心.我希望它等待当前的一个完成,然后开始下一个.我在目录上使用的工具是SANS
..
用于标识Xcode是否在Mac上运行的命令:cmd = "ps -ax | grep -v grep | grep Xcode" 如果Xcode没有运行,则上述命令在subprocess模块的Popen方法中可以很好地工作,但是在check_output方法中引发CalledProcessError.我试图通过以下代码检查stderr,但未能获得适当的信息以了解原因. from sub
..
我正在尝试使用subprocess模块与使用Python的命令行聊天机器人进行通信. (http://howie.sourceforge.net/使用已编译的win32二进制文件,我有我的理由!) 这有效: proc = Popen('Howie/howie.exe', stdout=PIPE,stderr=STDOUT,stdin=PIPE) output = proc.commun
..
我只需要提示如何正确做事. 说我有一个名为script.py的脚本,该脚本使用名称列表作为参数["name1","name2"等.]. 我想使用子流程模块从另一个脚本中调用此脚本.所以我想做的是以下事情: myList = ["name1", "name2", "name3"] subprocess.Popen(["python", "script.py", myList])
..
在我维护的程序中,它是按照以下步骤完成的: # count the files in the archive length = 0 command = ur'"%s" l -slt "%s"' % (u'path/to/7z.exe', srcFile) ins, err = Popen(command, stdout=PIPE, stdin=PIPE, s
..
我正在尝试从python执行shell脚本(不是命令): main.py ------- from subprocess import Popen Process=Popen(['./childdir/execute.sh',str(var1),str(var2)],shell=True) execute.sh ---------- echo $1 //does not print a
..
我已经查看了两个文档. 此问题由JF的评论提示:检索以下内容的输出subprocess.call() subprocess.call() 的当前Python文档说以下内容关于将PIPE用于subprocess.call(): 注意请勿将此功能与stdout=PIPE或stderr=PIPE一起使用.如果子进程为管道生成足够的输出以填充OS管道缓冲区,则该子进程将阻塞,因为未从中读
..
在Windows的python 2.7中,根据文档,您可以发送CTRL_C_EVENT (Python 2.7子进程Popen.send_signal文档). 但是,当我尝试该操作时,在子进程中没有收到预期的键盘中断. 这是父流程的示例代码: # FILE : parentProcess.py import subprocess import time import signal C
..
我有一个非常简单的问题.我有一个大文件,它需要经历三个步骤,一个使用外部程序的解码步骤,使用python进行的一些处理,然后使用另一个外部程序进行重新编码.我一直在使用subprocess.Popen()尝试在python中执行此操作,而不是形成unix管道.但是,所有数据都被缓冲到内存中.有没有执行此任务的pythonic方式,还是我最好还是回到一个简单的python脚本,该脚本从stdin读取
..
有人可以解释为什么我要的结果"hi"以字母"b"开头并以换行符开头吗? 我正在使用 Python 3.3 >>> import subprocess >>> print(subprocess.Popen("echo hi", shell=True, stdout=subprocess.PIPE).communicate()[0])
..
我有子过程命令将md5校验和检查为 subprocess.check_output('md5 Downloads/test.txt', stderr=subprocess.STDOUT, shell=True) 工作正常. 但我读过尝试避免shell=True 但是当我运行 subprocess.check_output('md5 Downloads/test.txt', stde
..
我正在使用Python的subprocess.Popen使用主机操作系统的二进制客户端执行一些FTP.由于各种原因,我无法使用ftplib或任何其他库. 如果我将stdin处理程序附加到Popen实例,则二进制文件的行为似乎会改变.例如,使用XP的ftp客户端,该客户端接受发出命令的文本文件: >>>from subprocess import Popen, PIPE >>>p =
..
执行以下脚本... import socket import sys from collections import OrderedDict from subprocess import check_output from threading import Thread [...]
..
我遇到的问题是Eclipse/PyCharm与标准终端不同地解释子进程的Popen()结果.所有人都在OSX上使用python2.6.1. 这是一个简单的示例脚本: import subprocess args = ["/usr/bin/which", "git"] print "Will execute %s" % " ".join(args) try: p = subproc
..