Если вы передадите его открытому файлу, он будет держать его открытым (чтение из текущей позиции), если вы передадите строку, тогда read_csv
откроет и закроет файл.
В питона, если открыть файл, но забудьте закрыть его, питон будет закрыть его для вас в конце функционального блока (во время сборки мусора).
def foo():
f = open("myfile.csv", "w")
...
f.close() # isn't actually needed
т.е. при вызове функции питона, которая открывает файл, если объект файла не возвращается, файл автоматически волшебно чески закрыто.
Примечание: Предпочтительный синтаксис с блоком (который, а также закрытие е на конце с блоком, определяет переменную ф только внутри с блоком):
def foo():
with open("myfile.csv", "w") as f:
...
Вы можете ожидать что каждый правильно разработанный метод чтения, который открывает дескриптор файла, также закрывает его перед возвратом. – cel
То, что я ожидал, я просто хотел быть уверенным. – nivniv
Я тоже ожидал этого, но у меня были сюрпризы. Я не могу объяснить, почему Windows говорит мне, что я не могу переместить этот файл, потому что python держит его ... (но, возможно, это spyder, à python Ide ...) –