如何调用';阅读';用python进行系统调用
我需要用我的参数运行linux“read”系统调用。有什么想法吗如何调用';阅读';用python进行系统调用,python,linux,python-2.7,system-calls,fuse,Python,Linux,Python 2.7,System Calls,Fuse,我需要用我的参数运行linux“read”系统调用。有什么想法吗 read(const char *path, char *buf, size_t size, off_t offset,struct fuse_file_info *fi) 我需要用我的参数调用上述函数。Python公开如下: os.read(fd,n) 从文件描述符fd读取最多n个字节。返回包含读取字节的字符串。如果已到达fd引用的文件末尾,则返回空字符串 当errno属性设置为一个整数(如Cread()文档中所述)时,错误将
read(const char *path, char *buf, size_t size, off_t offset,struct fuse_file_info *fi)
我需要用我的参数调用上述函数。Python公开如下:
os.read(fd,n)
从文件描述符fd读取最多n个字节。返回包含读取字节的字符串。如果已到达fd引用的文件末尾,则返回空字符串
当
errno
属性设置为一个整数(如Cread()
文档中所述)时,错误将作为OSError
异常引发。如果要测试常量,可以使用。为什么需要调用读取系统调用?你已经有一个文件句柄了吗?我正在为一个FUSE程序构建一个测试脚本,我需要检查“读取”是否正常工作。对挂载的文件系统进行常规Pythonopen()
调用就可以了。如果您使用Python实现FUSE插件,并且正在构建单元测试,那么只需直接调用Python实现,而无需实际启动FUSE来驱动它。谢谢,您知道我如何指定要使用的标志吗?@ifryed:flags'是什么意思?这不是一个可以传递给C级read()
函数的参数。@ifryed:你可能把FUSE插件实现的“read”函数与系统read调用混淆了吗?我想我把它们弄混了,我编辑了一个问题,这个问题确实不是Linuxread()
函数(我在回答中链接到了手册页)。你基本上是在问如何测试一个任意的API,不管你用什么用户空间语言编写你的插件。如果是Python,则无需调用C函数。