TypeError:并非在字符串格式化期间转换所有参数

时间:2015-10-13 20:40:21

标签: python python-2.7 nonblocking readfile

经过研究,我找到了一种无需锁定即可读取文件的解决方案。但我无法解码字符串/字符中描述符的接收缓冲区。这该怎么做?或者是否有其他选项可以不阻塞地读取文件,而不使用字节?

  filename = '/var/log/auth.log'
    fopen = os.open(filename, os.O_NONBLOCK | os.O_RDONLY)
    while True:
        data = os.read(fopen, 1024)
        if len(data) > 0:
            #logger just for example in code is another function
            logger.info('DATA:   ',data)
            #print data

我收到错误:

TypeError: not all arguments converted during string formatting

1 个答案:

答案 0 :(得分:0)

您正在传递值data to be formatted into消息,但您的消息并未包含要替换此消息的字段。它默认遵循printf-style string formatting syntax

logger.info('DATA: %s', data)