rust调用C函数
RUST Call C:
C call RUST:
GitHub - dongchengok/rust_study: rust study
def test(cmd, logger=None, outfile=None, errfile=None):
if outfile is None and errfile is None:
process = subprocess.Popen(
cmd,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
result = stdout.decode('utf-8').strip('\r\n')
errors = stderr.decode('utf-8')
return_code = process.returncode
msg = result if not stderr else errors
if logger:
logger.info(cmd)
logger.debug(return_code)
if return_code != 0:
logger.error(errors)
# raise CommandError(errors)
return result, errors, return_code
else:
f_out = open(outfile, 'w')
f_err = open(errfile, 'w')
process = subprocess.Popen(
cmd,
shell=True,
stdout=f_out,
stderr=f_err)
output, errors = process.communicate()
return_code = process.returncode
if logger:
logger.info(cmd)
logger.debug(return_code)
if return_code != 0:
logger.error(errors)
# raise CommandError(errors)
return return_code