本文整理匯總了Python中subprocess.PIPE屬性的典型用法代碼示例。如果您正苦於以下問題:Python subprocess.PIPE屬性的具體用法?Python subprocess.PIPE怎麽用?Python subprocess.PIPE使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類subprocess
的用法示例。
在下文中一共展示了subprocess.PIPE屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_num_triggering_samples
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def get_num_triggering_samples(signature, samples):
"""
Get number of samples triggering ClamAV signature _signature_.
:param signature: A dictionary with keys 'type' for the signature type
and 'signature' for the signature string.
:param samples: A list of sample paths to scan.
:returns: The number of samples triggering this signature.
"""
handle, temp_sig = tempfile.mkstemp(suffix = "." + signature["type"])
try:
with os.fdopen(handle, "w") as f:
f.write(signature["signature"])
proc_clamscan = subprocess.Popen(["clamscan",
"-d", temp_sig,
"--no-summary", "--infected"] + samples,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE)
stdout, stderr = proc_clamscan.communicate()
if not stdout:
return 0
else:
return len(stdout.strip().split("\n"))
finally:
os.unlink(temp_sig)
示例2: alignProcWrapper
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def alignProcWrapper(ref, seq):
cmd = "python {} {} {}".format(
os.path.realpath(__file__),
ref,
seq)
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
if proc.returncode != 0:
return None
fields = out.split()
strand = fields[0].decode()
aln = Aln(int(fields[1]), int(fields[2]), fields[3].decode(), int(fields[4]), int(fields[5]))
return strand, aln
示例3: update_version_py
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def update_version_py():
if not os.path.isdir(".git"):
print("This does not appear to be a Git repository.")
return
try:
# p = subprocess.Popen(["git", "describe","--tags", "--always"],
# stdout=subprocess.PIPE)
p = subprocess.Popen("git rev-list HEAD --count".split(),
stdout=subprocess.PIPE)
except EnvironmentError:
print("unable to run git, leaving eden/_version.py alone")
return
stdout = p.communicate()[0]
if p.returncode != 0:
print("unable to run git, leaving eden/_version.py alone")
return
ver = "0.3."+stdout.strip()
# ver = str(int(ver,16)) # pypi doesnt like base 16
f = open("eden/_version.py", "w")
f.write(VERSION_PY % ver)
f.close()
print("set eden/_version.py to '%s'" % ver)
示例4: call
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def call(self, cmd, **kwargs):
print('Running "{}"'.format(cmd), file=sys.stderr)
expect = kwargs.pop("expect", [dict(return_codes=[os.EX_OK], stdout=None, stderr=None)])
process = subprocess.Popen(cmd, stdin=kwargs.get("stdin", subprocess.PIPE), stdout=subprocess.PIPE,
stderr=subprocess.PIPE, **kwargs)
out, err = process.communicate()
return_code = process.poll()
out = out.decode(sys.stdin.encoding)
err = err.decode(sys.stdin.encoding)
def match(return_code, out, err, expected):
exit_ok = return_code in expected["return_codes"]
stdout_ok = re.search(expected.get("stdout") or "", out)
stderr_ok = re.search(expected.get("stderr") or "", err)
return exit_ok and stdout_ok and stderr_ok
if not any(match(return_code, out, err, exp) for exp in expect):
print(err)
e = subprocess.CalledProcessError(return_code, cmd, output=out)
e.stdout, e.stderr = out, err
raise e
return self.SubprocessResult(out, err, return_code)
示例5: get_perf
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def get_perf(filename):
''' run conlleval.pl perl script to obtain
precision/recall and F1 score '''
_conlleval = PREFIX + 'conlleval'
if not isfile(_conlleval):
#download('http://www-etud.iro.umontreal.ca/~mesnilgr/atis/conlleval.pl')
os.system('wget https://www.comp.nus.edu.sg/%7Ekanmy/courses/practicalNLP_2008/packages/conlleval.pl')
chmod('conlleval.pl', stat.S_IRWXU) # give the execute permissions
out = []
proc = subprocess.Popen(["perl", _conlleval], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
stdout, _ = proc.communicate(open(filename).read())
for line in stdout.split('\n'):
if 'accuracy' in line:
out = line.split()
break
# out = ['accuracy:', '16.26%;', 'precision:', '0.00%;', 'recall:', '0.00%;', 'FB1:', '0.00']
precision = float(out[3][:-2])
recall = float(out[5][:-2])
f1score = float(out[7])
return {'p':precision, 'r':recall, 'f1':f1score}
示例6: pipe_fopen
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def pipe_fopen(command, mode, background=True):
if mode not in ["rb", "r"]:
raise RuntimeError("Now only support input from pipe")
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
def background_command_waiter(command, p):
p.wait()
if p.returncode != 0:
warnings.warn("Command \"{0}\" exited with status {1}".format(
command, p.returncode))
_thread.interrupt_main()
if background:
thread = threading.Thread(target=background_command_waiter,
args=(command, p))
# exits abnormally if main thread is terminated .
thread.daemon = True
thread.start()
else:
background_command_waiter(command, p)
return p.stdout
示例7: get_git_hash
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def get_git_hash():
def _minimal_ext_cmd(cmd):
# construct minimal environment
env = {}
for k in ['SYSTEMROOT', 'PATH', 'HOME']:
v = os.environ.get(k)
if v is not None:
env[k] = v
# LANGUAGE is used on win32
env['LANGUAGE'] = 'C'
env['LANG'] = 'C'
env['LC_ALL'] = 'C'
out = subprocess.Popen(
cmd, stdout=subprocess.PIPE, env=env).communicate()[0]
return out
try:
out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD'])
sha = out.strip().decode('ascii')
except OSError:
sha = 'unknown'
return sha
示例8: disas_objdump
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def disas_objdump(b):
with open("/dev/shm/shifter", "w") as f:
f.write(b)
if arch == "64":
dis, errors = subprocess.Popen("objdump -D --insn-width=256 -b binary \
-mi386 -Mx86-64 /dev/shm/shifter | head -8 | tail -1",
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()
else:
dis, errors = subprocess.Popen("objdump -D --insn-width=256 -b binary \
-mi386 /dev/shm/shifter | head -8 | tail -1",
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()
dis = dis[6:] # address
raw = dis[:256*3].replace(" ","")
dis = dis[256*3:].strip().split(None, 2)
mnemonic = dis[0]
if len(dis) > 1:
op_str = dis[1]
else:
op_str = ""
if mnemonic == "(bad)":
mnemonic = "(unk)"
insn = ""
op_str = ""
size = len(raw)/2
return (mnemonic, op_str, size)
示例9: start
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def start(self):
self.command = "%s %s -%c -R %s -s %d" % \
(
INJECTOR,
" ".join(self.settings.args),
self.settings.synth_mode,
"-0" if self.settings.root else "",
self.settings.seed
)
self.process = subprocess.Popen(
"exec %s" % self.command,
shell=True,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
preexec_fn=os.setsid
)
示例10: dd_iso_image
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def dd_iso_image(self, input_, output, gui_update, status_update):
''' Implementation for OS that use dd to write the iso image.
'''
in_file_size = os.path.getsize(input_)
cmd = [self.dd_exe, 'if=' + input_,
'of=' + self.physical_disk(output), 'bs=1M']
self.dd_iso_image_add_args(cmd, input_, output)
kw_args = {
'stdout' : subprocess.PIPE,
'stderr' : subprocess.PIPE,
'shell' : False,
}
self.add_dd_iso_image_popen_args(kw_args)
self.dd_iso_image_prepare(input, output, status_update)
log('Executing => ' + str(cmd))
dd_process = subprocess.Popen(cmd, **kw_args)
output_q = queue.Queue()
while dd_process.poll() is None:
self.dd_iso_image_readoutput(dd_process, gui_update, in_file_size,
output_q)
output_lines = [output_q.get() for i in range(output_q.qsize())]
for l in output_lines:
log('dd: ' + l)
return self.dd_iso_image_interpret_result(
dd_process.returncode, output_lines)
示例11: gpt_device
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def gpt_device(self, dev_name):
disk_dev = self.physical_disk(dev_name)
cmd = ['parted', disk_dev, '-s', 'print']
with open(os.devnull) as devnull:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, stdin=devnull)
_cmd_out, _err_out = p.communicate()
p.wait()
if p.returncode != 0:
lang = os.getenv('LANG')
encoding = lang.rsplit('.')[-1] if lang else 'utf-8'
raise RuntimeError(str(_err_out, encoding))
subprocess.check_call(['partprobe', disk_dev])
if b'msdos' in _cmd_out:
return False
if b'gpt' in _cmd_out:
return True
raise RuntimeError("Disk '%s' is uninitialized and not usable." %
disk_dev)
示例12: calculate
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def calculate(self):
"""
Calculate the elastic constant given Potential class.
"""
with ScratchDir('.'):
input_file = self._setup()
p = subprocess.Popen([self.LMP_EXE, '-in', input_file],
stdout=subprocess.PIPE)
stdout = p.communicate()[0]
rc = p.returncode
if rc != 0:
error_msg = 'LAMMPS exited with return code %d' % rc
msg = stdout.decode("utf-8").split('\n')[:-1]
try:
error_line = [i for i, m in enumerate(msg)
if m.startswith('ERROR')][0]
error_msg += ', '.join([e for e in msg[error_line:]])
except Exception:
error_msg += msg[-1]
raise RuntimeError(error_msg)
result = self._parse()
return result
示例13: _run_command
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def _run_command(cmd, timeout_secs=300):
""" Runs a command with a specified timeout.
Args:
cmd : list of string
The command with arguments to run.
timeout_secs: integer
The timeout in seconds
Returns:
Returns the process and the output as a pair.
"""
proc = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
for i in range(timeout_secs):
sleep(1)
if proc.poll() is not None:
(out, _) = proc.communicate()
return proc, out.decode('utf-8')
proc.kill()
return proc, "Timeout of %s secs exceeded." % timeout_secs
開發者ID:awslabs,項目名稱:dynamic-training-with-apache-mxnet-on-aws,代碼行數:27,代碼來源:straight_dope_test_utils.py
示例14: communication_initialization
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def communication_initialization(self):
self.clients = []
if self.serverorclient:
if self.os_type == common.OS_LINUX:
ps = subprocess.Popen(["cat", "/proc/sys/net/ipv4/icmp_echo_ignore_all"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = ps.communicate()
if stderr:
common.internal_print("Error: deleting default route: {0}".format(stderr), -1)
sys.exit(-1)
self.orig_ieia_value = stdout[0:1]
os.system("echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all")
if self.serverorclient:
self.ICMP_send = self.icmp.ICMP_ECHO_RESPONSE
else:
self.ICMP_send = self.icmp.ICMP_ECHO_REQUEST
return
示例15: lin_check_default_route
# 需要導入模塊: import subprocess [as 別名]
# 或者: from subprocess import PIPE [as 別名]
def lin_check_default_route(self):
# get default gateway(s)
ps = subprocess.Popen(["route", "-n"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = ps.communicate()
if stderr != "":
common.internal_print("Route error: {0}".format(stderr), -1)
sys.exit(-1)
lines = stdout.split("\n")
default_route_number = 0
for line in lines:
if line[0:7] == "0.0.0.0":
default_route_number += 1
if default_route_number < 1:
common.internal_print("No default route. Please set up your routing before executing the tool", -1)
sys.exit(-1)
if default_route_number > 1:
common.internal_print("More than one default route. This should be reviewed before executing the tool.", -1)
sys.exit(-1)
return