python readlines在incron期间不起作用

时间:2018-02-19 15:37:52

标签: python 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()调用。我没有在syslog中看到任何错误。

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

1 个答案:

答案 0 :(得分:0)

我最终使用了看门狗。