Example Python script to use from NiFi ExecuteScript processor which reads the first line from an incoming flow file.
from org.python.core.util.FileUtil import wrap
from org.apache.nifi.processors.script import ExecuteScript
first_line = None
flow_file = session.get()
def read_first_line(input):
global first_line
with wrap(input) as f:
first_line = f.readline()
if flow_file:
session.read(flow_file, read_first_line)
if first_line:
flow_file = session.putAttribute(flow_file, 'from-content', first_line)
session.transfer(flow_file, ExecuteScript.REL_SUCCESS)