Python fcntl 与 signal 模块使用

  • 这两个模块是Python标准库里面就包含的模块
  • 用法介绍在
    https://docs.python.org/2/library/signal.html
    https://docs.python.org/2/library/fcntl.html

  • 语法和 C 很相似, 如下
    py self.gpio0_irq_file = open("/dev/switch") signal.signal(signal.SIGIO, self.get_rain_data) fcntl.fcntl(self.gpio0_irq_file, fcntl.F_SETOWN, os.getpid()) flags = fcntl.fcntl(self.gpio0_irq_file, fcntl.F_GETFL); flags |= os.O_ASYNC; fcntl.fcntl(self.gpio0_irq_file, fcntl.F_SETFL, flags);
  • 主要,我想用Python 调用 linux C 的异步调用
  • 如上,O_SYNC 是 os 模块里面包含, SIGIO 这些是在 signal 模块里面被定义, F_GETFL 是在 fcntl 里面, 一次类推。
  • 基本上和 Linux C 一样

你可能感兴趣的:(Python fcntl 与 signal 模块使用)