Ответ 1
Если вы передадите ему открытый файл, он будет держать его открытым (чтение из текущей позиции), если вы передадите строку, тогда read_csv
откроет и закроет файл.
В python, если вы открываете файл, но забудьте закрыть его, python закроет его для вас в конце функционального блока (во время сбора мусора).
def foo():
f = open("myfile.csv", "w")
...
f.close() # isn't actually needed
то есть. если вы вызываете функцию python, которая открывает файл, если объект файла не возвращается, файл автоматически magically закрывается матом.
Примечание. Предпочтительным синтаксисом является блок с блоком (который, а также закрытие f в конце блока с, определяет переменную f только внутри блока):
def foo():
with open("myfile.csv", "w") as f:
...