本文整理汇总了Python中os.spawnvp方法的典型用法代码示例。如果您正苦于以下问题:Python os.spawnvp方法的具体用法?Python os.spawnvp怎么用?Python os.spawnvp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类os
的用法示例。
在下文中一共展示了os.spawnvp方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run_command_killable
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def run_command_killable(*argv):
filename = argv[0]
status = None
pid = os.spawnvp(os.P_NOWAIT, filename, argv)
try:
status = waitpid_reap_other_children(pid)
except BaseException as s:
warn("An error occurred. Aborting.")
stop_child_process(filename, pid)
raise
if status != 0:
if status is None:
error("%s exited with unknown status\n" % filename)
else:
error("%s failed with status %d\n" % (filename, os.WEXITSTATUS(status)))
sys.exit(1)
示例2: runProcess
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def runProcess(cmd, *args):
"""Run `cmd` (which is searched for in the executable path) with `args` and
return the exit status.
In general (unless you know what you're doing) use::
runProcess('program', filename)
rather than::
os.system('program %s' % filename)
because the latter will not work as expected if `filename` contains
spaces or shell-metacharacters.
If you need more fine-grained control look at ``os.spawn*``.
"""
from os import spawnvp, P_WAIT
return spawnvp(P_WAIT, cmd, (cmd,) + args)
#FIXME; check latest word on this...
示例3: inkview
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def inkview(self, fileName=None, encoding="utf-8"):
"""View in "inkview", assuming that program is available on your system.
fileName default=None note that any file named _default_fileName will be
overwritten if no fileName is specified. If the extension
is ".svgz" or ".gz", the output will be gzipped
encoding default="utf-8" file encoding (default is Unicode)
"""
fileName = self.interpret_fileName(fileName)
self.save(fileName, encoding)
os.spawnvp(os.P_NOWAIT, "inkview", ("inkview", fileName))
示例4: inkscape
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def inkscape(self, fileName=None, encoding="utf-8"):
"""View in "inkscape", assuming that program is available on your system.
fileName default=None note that any file named _default_fileName will be
overwritten if no fileName is specified. If the extension
is ".svgz" or ".gz", the output will be gzipped
encoding default="utf-8" file encoding (default is Unicode)
"""
fileName = self.interpret_fileName(fileName)
self.save(fileName, encoding)
os.spawnvp(os.P_NOWAIT, "inkscape", ("inkscape", fileName))
示例5: firefox
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def firefox(self, fileName=None, encoding="utf-8"):
"""View in "firefox", assuming that program is available on your system.
fileName default=None note that any file named _default_fileName will be
overwritten if no fileName is specified. If the extension
is ".svgz" or ".gz", the output will be gzipped
encoding default="utf-8" file encoding (default is Unicode)
"""
fileName = self.interpret_fileName(fileName)
self.save(fileName, encoding)
os.spawnvp(os.P_NOWAIT, "firefox", ("firefox", fileName))
######################################################################
示例6: create_spawnv
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def create_spawnv(original_name):
def new_spawnv(mode, path, args):
"""
os.spawnv(mode, path, args)
os.spawnvp(mode, file, args)
"""
if _get_apply_arg_patching():
args = patch_args(args)
send_process_created_message()
return getattr(os, original_name)(mode, path, args)
return new_spawnv
示例7: patch_new_process_functions_with_warning
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def patch_new_process_functions_with_warning():
monkey_patch_os('execl', create_warn_multiproc)
monkey_patch_os('execle', create_warn_multiproc)
monkey_patch_os('execlp', create_warn_multiproc)
monkey_patch_os('execlpe', create_warn_multiproc)
monkey_patch_os('execv', create_warn_multiproc)
monkey_patch_os('execve', create_warn_multiproc)
monkey_patch_os('execvp', create_warn_multiproc)
monkey_patch_os('execvpe', create_warn_multiproc)
monkey_patch_os('spawnl', create_warn_multiproc)
monkey_patch_os('spawnle', create_warn_multiproc)
monkey_patch_os('spawnlp', create_warn_multiproc)
monkey_patch_os('spawnlpe', create_warn_multiproc)
monkey_patch_os('spawnv', create_warn_multiproc)
monkey_patch_os('spawnve', create_warn_multiproc)
monkey_patch_os('spawnvp', create_warn_multiproc)
monkey_patch_os('spawnvpe', create_warn_multiproc)
monkey_patch_os('posix_spawn', create_warn_multiproc)
if not IS_JYTHON:
if not IS_WINDOWS:
monkey_patch_os('fork', create_warn_multiproc)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_warn_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcessWarnMultiproc)
示例8: buildDMG
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def buildDMG(self):
# Remove DMG if it already exists
if os.path.exists(self.dmgName):
os.unlink(self.dmgName)
createargs = [
'hdiutil', 'create', '-fs', 'HFSX', '-format', 'UDZO',
self.dmgName, '-imagekey', 'zlib-level=9', '-srcfolder',
self.bundleDir, '-volname', self.volume_label
]
if self.applications_shortcut:
scriptargs = [
'osascript', '-e', 'tell application "Finder" to make alias \
file to POSIX file "/Applications" at POSIX file "%s"' %
os.path.realpath(self.buildDir)
]
if os.spawnvp(os.P_WAIT, 'osascript', scriptargs) != 0:
raise OSError('creation of Applications shortcut failed')
createargs.append('-srcfolder')
createargs.append(self.buildDir + '/Applications')
# Create the dmg
if os.spawnvp(os.P_WAIT, 'hdiutil', createargs) != 0:
raise OSError('creation of the dmg failed')
示例9: create_spawnv
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def create_spawnv(original_name):
def new_spawnv(mode, path, args):
"""
os.spawnv(mode, path, args)
os.spawnvp(mode, file, args)
"""
import os
return getattr(os, original_name)(mode, path, patch_args(args))
return new_spawnv
示例10: patch_new_process_functions_with_warning
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def patch_new_process_functions_with_warning():
monkey_patch_os('execl', create_warn_multiproc)
monkey_patch_os('execle', create_warn_multiproc)
monkey_patch_os('execlp', create_warn_multiproc)
monkey_patch_os('execlpe', create_warn_multiproc)
monkey_patch_os('execv', create_warn_multiproc)
monkey_patch_os('execve', create_warn_multiproc)
monkey_patch_os('execvp', create_warn_multiproc)
monkey_patch_os('execvpe', create_warn_multiproc)
monkey_patch_os('spawnl', create_warn_multiproc)
monkey_patch_os('spawnle', create_warn_multiproc)
monkey_patch_os('spawnlp', create_warn_multiproc)
monkey_patch_os('spawnlpe', create_warn_multiproc)
monkey_patch_os('spawnv', create_warn_multiproc)
monkey_patch_os('spawnve', create_warn_multiproc)
monkey_patch_os('spawnvp', create_warn_multiproc)
monkey_patch_os('spawnvpe', create_warn_multiproc)
if sys.platform != 'win32':
monkey_patch_os('fork', create_warn_multiproc)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_warn_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcessWarnMultiproc)
示例11: actualSolve
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def actualSolve(self, lp):
"""Solve a well formulated lp problem"""
if not self.executable(self.path):
raise PulpSolverError("PuLP: cannot execute "+self.path)
if not self.keepFiles:
pid = os.getpid()
tmpLp = os.path.join(self.tmpDir, "%d-pulp.lp" % pid)
tmpSol = os.path.join(self.tmpDir, "%d-pulp.sol" % pid)
else:
tmpLp = lp.name+"-pulp.lp"
tmpSol = lp.name+"-pulp.sol"
lp.writeLP(tmpLp, writeSOS = 0)
proc = ["glpsol", "--cpxlp", tmpLp, "-o", tmpSol]
if not self.mip: proc.append('--nomip')
proc.extend(self.options)
self.solution_time = clock()
if not self.msg:
proc[0] = self.path
pipe = open(os.devnull, 'w')
if operating_system == 'win':
# Prevent flashing windows if used from a GUI application
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
rc = subprocess.call(proc, stdout = pipe, stderr = pipe,
startupinfo = startupinfo)
else:
rc = subprocess.call(proc, stdout = pipe, stderr = pipe)
if rc:
raise PulpSolverError("PuLP: Error while trying to execute "+self.path)
else:
if os.name != 'nt':
rc = os.spawnvp(os.P_WAIT, self.path, proc)
else:
rc = os.spawnv(os.P_WAIT, self.executable(self.path), proc)
if rc == 127:
raise PulpSolverError("PuLP: Error while trying to execute "+self.path)
self.solution_time += clock()
if not os.path.exists(tmpSol):
raise PulpSolverError("PuLP: Error while executing "+self.path)
lp.status, values = self.readsol(tmpSol)
lp.assignVarsVals(values)
if not self.keepFiles:
try: os.remove(tmpLp)
except: pass
try: os.remove(tmpSol)
except: pass
return lp.status
示例12: patch_new_process_functions
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def patch_new_process_functions():
# os.execl(path, arg0, arg1, ...)
# os.execle(path, arg0, arg1, ..., env)
# os.execlp(file, arg0, arg1, ...)
# os.execlpe(file, arg0, arg1, ..., env)
# os.execv(path, args)
# os.execve(path, args, env)
# os.execvp(file, args)
# os.execvpe(file, args, env)
monkey_patch_os('execl', create_execl)
monkey_patch_os('execle', create_execl)
monkey_patch_os('execlp', create_execl)
monkey_patch_os('execlpe', create_execl)
monkey_patch_os('execv', create_execv)
monkey_patch_os('execve', create_execve)
monkey_patch_os('execvp', create_execv)
monkey_patch_os('execvpe', create_execve)
# os.spawnl(mode, path, ...)
# os.spawnle(mode, path, ..., env)
# os.spawnlp(mode, file, ...)
# os.spawnlpe(mode, file, ..., env)
# os.spawnv(mode, path, args)
# os.spawnve(mode, path, args, env)
# os.spawnvp(mode, file, args)
# os.spawnvpe(mode, file, args, env)
monkey_patch_os('spawnl', create_spawnl)
monkey_patch_os('spawnle', create_spawnl)
monkey_patch_os('spawnlp', create_spawnl)
monkey_patch_os('spawnlpe', create_spawnl)
monkey_patch_os('spawnv', create_spawnv)
monkey_patch_os('spawnve', create_spawnve)
monkey_patch_os('spawnvp', create_spawnv)
monkey_patch_os('spawnvpe', create_spawnve)
monkey_patch_os('posix_spawn', create_posix_spawn)
if not IS_JYTHON:
if not IS_WINDOWS:
monkey_patch_os('fork', create_fork)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcess)
示例13: run
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def run(self):
"""
Command execution.
"""
self.run_command('build')
build = self.get_finalized_command('build')
self.bundleDir = os.path.join(build.build_base, self.bundle_name + ".app")
self.contentsDir = os.path.join(self.bundleDir, 'Contents')
self.resourcesDir = os.path.join(self.contentsDir, 'Resources')
self.binDir = os.path.join(self.contentsDir, 'MacOS')
self.frameworksDir = os.path.join(self.contentsDir, 'Frameworks')
executable = self.distribution.executables[0].targetName
_, self.bundle_executable = os.path.split(executable)
self.mkpath(self.resourcesDir)
self.mkpath(self.binDir)
self.mkpath(self.frameworksDir)
self.copy_tree(DIST_PATH, self.binDir)
if self.iconfile:
self.copy_file(self.iconfile, os.path.join(self.resourcesDir, 'icon.icns'))
for framework in self.include_frameworks:
self.copy_tree(framework, os.path.join(self.frameworksDir, os.path.basename(framework)))
self.execute(self.create_plist, ())
self.execute(self.setRelativeReferencePaths, ())
self.execute(self.prepare_qt_app, ())
if self.codesign_identity:
signargs = ['codesign', '-s', self.codesign_identity]
if self.codesign_entitlements:
signargs.append('--entitlements')
signargs.append(self.codesign_entitlements)
if self.codesign_deep:
signargs.insert(1, '--deep')
if self.codesign_resource_rules:
signargs.insert(1, '--resource-rules=' + self.codesign_resource_rules)
signargs.append(self.bundleDir)
if os.spawnvp(os.P_WAIT, 'codesign', signargs) != 0:
raise OSError('Code signing of app bundle failed')
示例14: patch_new_process_functions
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def patch_new_process_functions():
# os.execl(path, arg0, arg1, ...)
# os.execle(path, arg0, arg1, ..., env)
# os.execlp(file, arg0, arg1, ...)
# os.execlpe(file, arg0, arg1, ..., env)
# os.execv(path, args)
# os.execve(path, args, env)
# os.execvp(file, args)
# os.execvpe(file, args, env)
monkey_patch_os('execl', create_execl)
monkey_patch_os('execle', create_execl)
monkey_patch_os('execlp', create_execl)
monkey_patch_os('execlpe', create_execl)
monkey_patch_os('execv', create_execv)
monkey_patch_os('execve', create_execve)
monkey_patch_os('execvp', create_execv)
monkey_patch_os('execvpe', create_execve)
# os.spawnl(mode, path, ...)
# os.spawnle(mode, path, ..., env)
# os.spawnlp(mode, file, ...)
# os.spawnlpe(mode, file, ..., env)
# os.spawnv(mode, path, args)
# os.spawnve(mode, path, args, env)
# os.spawnvp(mode, file, args)
# os.spawnvpe(mode, file, args, env)
monkey_patch_os('spawnl', create_spawnl)
monkey_patch_os('spawnle', create_spawnl)
monkey_patch_os('spawnlp', create_spawnl)
monkey_patch_os('spawnlpe', create_spawnl)
monkey_patch_os('spawnv', create_spawnv)
monkey_patch_os('spawnve', create_spawnve)
monkey_patch_os('spawnvp', create_spawnv)
monkey_patch_os('spawnvpe', create_spawnve)
if sys.platform != 'win32':
monkey_patch_os('fork', create_fork)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcess)
示例15: run
# 需要导入模块: import os [as 别名]
# 或者: from os import spawnvp [as 别名]
def run( self ):
"""
Run HEX job.
@raise DockerError: if HEX exists with error
"""
try:
if not os.path.exists( self.fout ):
if self.verbose:
print("Executing on ", self.host, ' with ', \
t.stripFilename(self.finp))
print("Command: ", self.cmd)
cmd_lst = self.cmd.split()
## self.status = os.spawnvp(os.P_WAIT, cmd_lst[0], cmd_lst )
p = subprocess.Popen( cmd_lst, executable=cmd_lst[0],
universal_newlines=True,
stdout=subprocess.DEVNULL, ## see flog
)
self.pid = p.pid
output, error = p.communicate()
self.status = p.returncode
if self.status != 0:
raise DockerError('Hex returned exit status %i' % self.status)
waited = 0
while waited < 25 and not os.path.exists( self.fout ):
sleep( 5 )
waited += 5
## replace model numbers in HEX output file
self.__hackHexOut( self.nRec, self.nLig, self.fout )
parser = HexParser(self.fout, self.owner.recDic,
self.owner.ligDic)
## generate ComplexList from hex output
self.result = parser.parseHex()
self.done()
except:
self.failed()