Python - writing and reading from a temporary file
<p>I am trying to create a temporary file that I write in some lines from another file and then make some objects from the data.  I am not sure how to find and open the temp file so I can read it.   My code:</p>

<pre><code>with tempfile.TemporaryFile() as tmp:
    lines = open(file1).readlines()
    tmp.writelines(lines[2:-1])

dependencyList = []

for line in tmp:
    groupId = textwrap.dedent(line.split(':')[0])
    artifactId = line.split(':')[1]
    version = line.split(':')[3]
    scope = str.strip(line.split(':')[4])
    dependencyObject = depenObj(groupId, artifactId, version, scope)
    dependencyList.append(dependencyObject)
tmp.close()
</code></pre>

<p>Essentially I just want to make a middleman temporary document to protect against accidentally overwriting a file. </p>

<p>You've got a scope problem; the file <code>tmp</code> only exists within the scope of the <code>with</code> statement which creates it. Additionally, you'll need to use a <code>NamedTemporaryFile</code> if you want to access the file later outside of the initial <code>with</code> (this gives the OS the ability to access the file). Also, I'm not sure why you're trying to append to a temporary file... since it won't have existed before you instantiate it.</p>

<p>Try this:</p>

<pre><code>import tempfile

tmp = tempfile.NamedTemporaryFile()

# Open the file for writing.
with open(tmp.name, 'w') as f:
    f.write(stuff) # where `stuff` is, y'know... stuff to write (a string)

...

# Open the file for reading.
with open(tmp.name) as f:
    for line in f:
        ... # more things here
</code></pre>

python temporary-files