python - 如何使用Python调用C可执行文件

标签 python c

我有一个用 c 编写的链接列表的编译二进制文件。我将可执行文件作为/usr/bin/app 放在/usr/bin/中,其中 app 是可执行文件的名称。这是使用 gcc 编译的。

任何人都可以帮助我使用 python 脚本调用此(应用程序)。

我在下面编写了一个脚本来执行此操作,但似乎出错了。我是 python 的新手,对此有非常基础的知识。我只是在探索 python 的特性。

脚本代码如下:

#!/usr/bin/env python

import subprocess
proc = subprocess.Popen(['\usr\bin\app'],
                            stdin = subprocess.PIPE,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE
                        )

(out, err) = proc.communicate()
print out

错误如下:

Traceback (most recent call last):
  File "./LinkedList.py", line 7, in <module>
    stderr = subprocess.PIPE
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

谢谢你的帮助

最佳答案

根据评论,答案是:

使用正斜杠'/usr/bin/app'

虽然我个人会强烈考虑使用 os.path.joinstr.joinos.sep 所以你没有记住斜杠应该走哪条路。

http://docs.python.org/2/library/os.html
http://docs.python.org/2/library/os.path.html

关于python - 如何使用Python调用C可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528901/

相关文章:

python - 多处理模块出现死锁

c - 以下哪个函数在 C 中更容易测试?

C 中的字符指针

python - Heroku Python/Django 应用程序全部同时开发 ImportError

python - sys.getsizeof 的底层是如何工作的?

python - 将4行数据读入一行pandas数据框

python - 以智能格式从Python文件中读取数据

C: 指针类型之间的非法转换:指向 const unsigned char 的指针 -> 指向 unsigned char 的指针

c -/lib/libc.so.6 : version `GLIBC_2.17' not found

c++ - 如何使 DirectBuffer 次级声音?