---
source: crates/ruff_linter/src/rules/flake8_simplify/mod.rs
snapshot_kind: text
---
SIM115.py:8:5: SIM115 Use a context manager for opening files
   |
 7 | # SIM115
 8 | f = open("foo.txt")
   |     ^^^^ SIM115
 9 | f = Path("foo.txt").open()
10 | f = pathlib.Path("foo.txt").open()
   |

SIM115.py:9:5: SIM115 Use a context manager for opening files
   |
 7 | # SIM115
 8 | f = open("foo.txt")
 9 | f = Path("foo.txt").open()
   |     ^^^^^^^^^^^^^^^^^^^^ SIM115
10 | f = pathlib.Path("foo.txt").open()
11 | f = pl.Path("foo.txt").open()
   |

SIM115.py:10:5: SIM115 Use a context manager for opening files
   |
 8 | f = open("foo.txt")
 9 | f = Path("foo.txt").open()
10 | f = pathlib.Path("foo.txt").open()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM115
11 | f = pl.Path("foo.txt").open()
12 | f = P("foo.txt").open()
   |

SIM115.py:11:5: SIM115 Use a context manager for opening files
   |
 9 | f = Path("foo.txt").open()
10 | f = pathlib.Path("foo.txt").open()
11 | f = pl.Path("foo.txt").open()
   |     ^^^^^^^^^^^^^^^^^^^^^^^ SIM115
12 | f = P("foo.txt").open()
13 | data = f.read()
   |

SIM115.py:12:5: SIM115 Use a context manager for opening files
   |
10 | f = pathlib.Path("foo.txt").open()
11 | f = pl.Path("foo.txt").open()
12 | f = P("foo.txt").open()
   |     ^^^^^^^^^^^^^^^^^ SIM115
13 | data = f.read()
14 | f.close()
   |

SIM115.py:39:9: SIM115 Use a context manager for opening files
   |
37 | # SIM115
38 | with contextlib.ExitStack():
39 |     f = open("filename")
   |         ^^^^ SIM115
40 | 
41 | # OK
   |

SIM115.py:80:5: SIM115 Use a context manager for opening files
   |
78 | import fileinput
79 | 
80 | f = tempfile.NamedTemporaryFile()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM115
81 | f = tempfile.TemporaryFile()
82 | f = tempfile.SpooledTemporaryFile()
   |

SIM115.py:81:5: SIM115 Use a context manager for opening files
   |
80 | f = tempfile.NamedTemporaryFile()
81 | f = tempfile.TemporaryFile()
   |     ^^^^^^^^^^^^^^^^^^^^^^ SIM115
82 | f = tempfile.SpooledTemporaryFile()
83 | f = tarfile.open("foo.tar")
   |

SIM115.py:82:5: SIM115 Use a context manager for opening files
   |
80 | f = tempfile.NamedTemporaryFile()
81 | f = tempfile.TemporaryFile()
82 | f = tempfile.SpooledTemporaryFile()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM115
83 | f = tarfile.open("foo.tar")
84 | f = TarFile("foo.tar").open()
   |

SIM115.py:83:5: SIM115 Use a context manager for opening files
   |
81 | f = tempfile.TemporaryFile()
82 | f = tempfile.SpooledTemporaryFile()
83 | f = tarfile.open("foo.tar")
   |     ^^^^^^^^^^^^ SIM115
84 | f = TarFile("foo.tar").open()
85 | f = tarfile.TarFile("foo.tar").open()
   |

SIM115.py:84:5: SIM115 Use a context manager for opening files
   |
82 | f = tempfile.SpooledTemporaryFile()
83 | f = tarfile.open("foo.tar")
84 | f = TarFile("foo.tar").open()
   |     ^^^^^^^^^^^^^^^^^^^^^^^ SIM115
85 | f = tarfile.TarFile("foo.tar").open()
86 | f = tarfile.TarFile().open()
   |

SIM115.py:85:5: SIM115 Use a context manager for opening files
   |
83 | f = tarfile.open("foo.tar")
84 | f = TarFile("foo.tar").open()
85 | f = tarfile.TarFile("foo.tar").open()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM115
86 | f = tarfile.TarFile().open()
87 | f = zipfile.ZipFile("foo.zip").open("foo.txt")
   |

SIM115.py:86:5: SIM115 Use a context manager for opening files
   |
84 | f = TarFile("foo.tar").open()
85 | f = tarfile.TarFile("foo.tar").open()
86 | f = tarfile.TarFile().open()
   |     ^^^^^^^^^^^^^^^^^^^^^^ SIM115
87 | f = zipfile.ZipFile("foo.zip").open("foo.txt")
88 | f = io.open("foo.txt")
   |

SIM115.py:87:5: SIM115 Use a context manager for opening files
   |
85 | f = tarfile.TarFile("foo.tar").open()
86 | f = tarfile.TarFile().open()
87 | f = zipfile.ZipFile("foo.zip").open("foo.txt")
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM115
88 | f = io.open("foo.txt")
89 | f = io.open_code("foo.txt")
   |

SIM115.py:88:5: SIM115 Use a context manager for opening files
   |
86 | f = tarfile.TarFile().open()
87 | f = zipfile.ZipFile("foo.zip").open("foo.txt")
88 | f = io.open("foo.txt")
   |     ^^^^^^^ SIM115
89 | f = io.open_code("foo.txt")
90 | f = codecs.open("foo.txt")
   |

SIM115.py:89:5: SIM115 Use a context manager for opening files
   |
87 | f = zipfile.ZipFile("foo.zip").open("foo.txt")
88 | f = io.open("foo.txt")
89 | f = io.open_code("foo.txt")
   |     ^^^^^^^^^^^^ SIM115
90 | f = codecs.open("foo.txt")
91 | f = bz2.open("foo.txt")
   |

SIM115.py:90:5: SIM115 Use a context manager for opening files
   |
88 | f = io.open("foo.txt")
89 | f = io.open_code("foo.txt")
90 | f = codecs.open("foo.txt")
   |     ^^^^^^^^^^^ SIM115
91 | f = bz2.open("foo.txt")
92 | f = gzip.open("foo.txt")
   |

SIM115.py:91:5: SIM115 Use a context manager for opening files
   |
89 | f = io.open_code("foo.txt")
90 | f = codecs.open("foo.txt")
91 | f = bz2.open("foo.txt")
   |     ^^^^^^^^ SIM115
92 | f = gzip.open("foo.txt")
93 | f = dbm.open("foo.db")
   |

SIM115.py:92:5: SIM115 Use a context manager for opening files
   |
90 | f = codecs.open("foo.txt")
91 | f = bz2.open("foo.txt")
92 | f = gzip.open("foo.txt")
   |     ^^^^^^^^^ SIM115
93 | f = dbm.open("foo.db")
94 | f = dbm.gnu.open("foo.db")
   |

SIM115.py:93:5: SIM115 Use a context manager for opening files
   |
91 | f = bz2.open("foo.txt")
92 | f = gzip.open("foo.txt")
93 | f = dbm.open("foo.db")
   |     ^^^^^^^^ SIM115
94 | f = dbm.gnu.open("foo.db")
95 | f = dbm.ndbm.open("foo.db")
   |

SIM115.py:94:5: SIM115 Use a context manager for opening files
   |
92 | f = gzip.open("foo.txt")
93 | f = dbm.open("foo.db")
94 | f = dbm.gnu.open("foo.db")
   |     ^^^^^^^^^^^^ SIM115
95 | f = dbm.ndbm.open("foo.db")
96 | f = dbm.dumb.open("foo.db")
   |

SIM115.py:95:5: SIM115 Use a context manager for opening files
   |
93 | f = dbm.open("foo.db")
94 | f = dbm.gnu.open("foo.db")
95 | f = dbm.ndbm.open("foo.db")
   |     ^^^^^^^^^^^^^ SIM115
96 | f = dbm.dumb.open("foo.db")
97 | f = lzma.open("foo.xz")
   |

SIM115.py:96:5: SIM115 Use a context manager for opening files
   |
94 | f = dbm.gnu.open("foo.db")
95 | f = dbm.ndbm.open("foo.db")
96 | f = dbm.dumb.open("foo.db")
   |     ^^^^^^^^^^^^^ SIM115
97 | f = lzma.open("foo.xz")
98 | f = lzma.LZMAFile("foo.xz")
   |

SIM115.py:97:5: SIM115 Use a context manager for opening files
   |
95 | f = dbm.ndbm.open("foo.db")
96 | f = dbm.dumb.open("foo.db")
97 | f = lzma.open("foo.xz")
   |     ^^^^^^^^^ SIM115
98 | f = lzma.LZMAFile("foo.xz")
99 | f = shelve.open("foo.db")
   |

SIM115.py:98:5: SIM115 Use a context manager for opening files
    |
 96 | f = dbm.dumb.open("foo.db")
 97 | f = lzma.open("foo.xz")
 98 | f = lzma.LZMAFile("foo.xz")
    |     ^^^^^^^^^^^^^ SIM115
 99 | f = shelve.open("foo.db")
100 | f = tokenize.open("foo.py")
    |

SIM115.py:99:5: SIM115 Use a context manager for opening files
    |
 97 | f = lzma.open("foo.xz")
 98 | f = lzma.LZMAFile("foo.xz")
 99 | f = shelve.open("foo.db")
    |     ^^^^^^^^^^^ SIM115
100 | f = tokenize.open("foo.py")
101 | f = wave.open("foo.wav")
    |

SIM115.py:100:5: SIM115 Use a context manager for opening files
    |
 98 | f = lzma.LZMAFile("foo.xz")
 99 | f = shelve.open("foo.db")
100 | f = tokenize.open("foo.py")
    |     ^^^^^^^^^^^^^ SIM115
101 | f = wave.open("foo.wav")
102 | f = tarfile.TarFile.taropen("foo.tar")
    |

SIM115.py:101:5: SIM115 Use a context manager for opening files
    |
 99 | f = shelve.open("foo.db")
100 | f = tokenize.open("foo.py")
101 | f = wave.open("foo.wav")
    |     ^^^^^^^^^ SIM115
102 | f = tarfile.TarFile.taropen("foo.tar")
103 | f = fileinput.input("foo.txt")
    |

SIM115.py:102:5: SIM115 Use a context manager for opening files
    |
100 | f = tokenize.open("foo.py")
101 | f = wave.open("foo.wav")
102 | f = tarfile.TarFile.taropen("foo.tar")
    |     ^^^^^^^^^^^^^^^^^^^^^^^ SIM115
103 | f = fileinput.input("foo.txt")
104 | f = fileinput.FileInput("foo.txt")
    |

SIM115.py:103:5: SIM115 Use a context manager for opening files
    |
101 | f = wave.open("foo.wav")
102 | f = tarfile.TarFile.taropen("foo.tar")
103 | f = fileinput.input("foo.txt")
    |     ^^^^^^^^^^^^^^^ SIM115
104 | f = fileinput.FileInput("foo.txt")
    |

SIM115.py:104:5: SIM115 Use a context manager for opening files
    |
102 | f = tarfile.TarFile.taropen("foo.tar")
103 | f = fileinput.input("foo.txt")
104 | f = fileinput.FileInput("foo.txt")
    |     ^^^^^^^^^^^^^^^^^^^ SIM115
105 | 
106 | with contextlib.suppress(Exception):
    |

SIM115.py:240:9: SIM115 Use a context manager for opening files
    |
238 | def aliased():
239 |     from shelve import open as open_shelf
240 |     x = open_shelf("foo.dbm")
    |         ^^^^^^^^^^ SIM115
241 |     x.close()
    |

SIM115.py:244:9: SIM115 Use a context manager for opening files
    |
243 |     from tarfile import TarFile as TF
244 |     f = TF("foo").open()
    |         ^^^^^^^^^^^^^^ SIM115
245 |     f.close()
    |

SIM115.py:257:5: SIM115 Use a context manager for opening files
    |
256 | # SIM115
257 | f = dbm.sqlite3.open("foo.db")
    |     ^^^^^^^^^^^^^^^^ SIM115
258 | f.close()
    |
