python readlines 在 incron 期间不工作

python readlines not working during incron

我正在尝试通过 incron 调用 python 脚本:

/data/alucard-ops/drop IN_CLOSE_WRITE /data/alucard-ops/util/test.py $@/$#

但我似乎无法从传递的文件中读取内容。这是脚本:

#!/usr/bin/env /usr/bin/python3
import os,sys
logfile = '/data/alucard-ops/log/'
log = open(logfile + 'test.log', 'a')
log.write(sys.argv[1] + "\n")
log.write(str(os.path.exists(sys.argv[1])) + "\n")
datafile = open(sys.argv[1], 'r')
log.write('Open\n')
data = datafile.readlines()
log.write("read\n")
datafile.close()

脚本生成的输出:

/data/alucard-ops/drop/nsco-20180219.csv
True
Open

它似乎停在 readlines() 调用处。我在系统日志中没有看到任何错误。

更新:我似乎可以使用子进程 cat 文件并检索内容。但是,当我解码它时,data.decode('utf-8') 我在变量中什么都没有。

我最终改用看门狗。