Projekt

Obecné

Profil

Stáhnout (774 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1 c0aed2f5 Stanislav Král
import os
2
3
4
# allows the caller, when using "with" keyword, access a temporary file with the desired content that is deleted
5
# when "with" context is destroyed
6
class TemporaryFile(object):
7
    def __init__(self, file_name, content):
8
        self.file_name = file_name
9
        self.content = content
10
11
    def __enter__(self):
12
        # if content was passed, write it to a new file specified by the given file name
13
        if len(self.content) > 0:
14
            with open(self.file_name, "w") as file:
15
                file.write(self.content)
16
        return self.file_name
17
18
    def __exit__(self, type_, value, traceback):
19
        if len(self.content) > 0:
20
            # if content was passed then the file has been created => delete it.
21
            os.remove(self.file_name)