使用pandas read_csv()
方法时,是保持文件打开还是关闭它(丢弃文件描述符)?
如果保留它,在完成数据帧使用后如何关闭它?
答案 0 :(得分:15)
如果你传递一个打开的文件,它将保持打开状态(从当前位置读取),如果你传递一个字符串,那么read_csv
将打开并关闭文件。
在python中,如果你打开一个文件但忘记关闭它,python会在功能块的末尾为你关闭它(在垃圾收集期间)。
def foo():
f = open("myfile.csv", "w")
...
f.close() # isn't actually needed
即。如果你调用一个打开文件的python函数,除非返回文件对象,文件将自动神奇地关闭。
注意:首选语法是with
块(在f
块的末尾关闭with
,仅在内部定义f
变量with
块):
def foo():
with open("myfile.csv", "w") as f:
...