Is there anyway I could write to tempfile and include it in a command, and then close/remove it. I would like to execute the command, eg: some_command /tmp/some-temp-file.
Complete example.
import tempfile
with tempfile.NamedTemporaryFile() as temp:
    temp.write('Some data')
    if should_call_some_python_function_that_will_read_the_file():
       temp.seek(0)
       some_python_function(temp)
    elif should_call_external_command():
       temp.flush()
       subprocess.call(["wc", temp.name])
Update: As mentioned in the comments, this may not work in windows. Use this solution for windows
Update 2: Python3 requires that the string to be written is represented as bytes, not str, so do instead
temp.write(bytes('Some data', encoding = 'utf-8'))