Python pandas - read_csv是否保持文件打开?

时间:2015-04-02 15:39:39

标签: pandas

使用pandas read_csv()方法时,是保持文件打开还是关闭它(丢弃文件描述符)?

如果保留它,在完成数据帧使用后如何关闭它?

1 个答案:

答案 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:
        ...