python怎么调用外部软件_python调用其他程序

本文介绍了如何使用Python调用外部C程序来解决特定问题,通过创建一个简单的C程序并利用Python的os模块执行命令行操作。详细讨论了os.system()函数的返回值及其对应的错误代码,为理解和调试提供了帮助。
摘要由CSDN通过智能技术生成

这几天在整decode的问题,由于代码是C的,而且完全重写成python 的话也比较麻烦把,里面各种位运算跟强制转换。所以就想到一个使用python调用C来解决这个问题

python调用C,这就涉及到一个叫命令行的东西,这几天也在用高通的qcat之类的工具,图形界面的确是给了我们很大的方便。

但是啊,程序还是命令行的强,命令行简单易懂,关键是就几个输入就几个输出,好了 开始这方面的演绎

先创建一个C程序 我的C程序如下

#include

int main(int argc,char**argv)

{

printf("hello\n");

//输出输入的第一个参数的值

printf("argc %d argv %s\n",argc,argv[1]);return 20;

}

编译好之后 使用如下的.py 调用

import os

data= "testdemo heheh"runcmd= './test'ret= os.system(runcmd +data)

print(ret)

输出如下

hello //这个是C程序的输出

argc3argv testdemo //这个也是C程序的输出5120 //51为上一个程序成功执行 20 为返回值

具体os.sytem() 函数的返回值信息如下博文 :http://xingyunbaijunwei.blog.163.com/blog/static/76538067201341342330373/

我这里也具体粘贴一下,恩 很长

"OS error code 1: Operation not permitted"

"OS error code 2: No such file or directory"

"OS error code 3: No such process"

"OS error code 4: Interrupted system call"

"OS error code 5: Input/output error"

"OS error code 6: No such device or address"

"OS error code 7: Argument list too long"

"OS error code 8: Exec format error"

"OS error code 9: Bad file descriptor"

"OS error code 10: No child processes"

"OS error code 11: Resource temporarily unavailable"

"OS error code 12: Cannot allocate memory"

"OS error code 13: Permission denied"

"OS error code 14: Bad addre

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值